Buildroot: د زیبکس سرور سره د کراس پلیټ فارم فرم ویئر رامینځته کول

Buildroot: د زیبکس سرور سره د کراس پلیټ فارم فرم ویئر رامینځته کول

د ستونزې تاریخ

کوچني شرکتونه، له یوې خوا، د خپلو زیربناوو لوړ کیفیت څارنې ته اړتیا لري (په ځانګړې توګه د پراخه مجازی کولو په رڼا کې)، له بلې خوا، د دوی لپاره د نوي تجهیزاتو پیرود کول له مالي پلوه ستونزمن دي. د سرور / هارډویر ستونزې هم عام دي: ډیری وختونه د کارونکي کار سټیشنونو سره نږدې 1-3 ټاور سرورونه یا په کوچني ځای / الماری کې شتون لري.

د چمتو شوي مجلس (توزیع) کارول خورا اسانه دي ، کوم چې تاسو اړتیا لرئ یوازې مایکرو ایس ډی کارت ته اپلوډ کړئ او په یو عام واحد بورډ کمپیوټر کې دننه کړئ (بیګلبون ، راسبیري پای او نارنج پای کورنۍ ، اسوس ټینکر بورډ). سربیره پردې، دا ډول تجهیزات ارزانه دي او په هر ځای کې نصب کیدی شي.

د ستونزې تشکیل

په ډیری لارو کې، پروژه د لابراتوار کار په توګه د پایلو پلي کولو امکان سره وده کړې.

زبیکس د څارنې سیسټم په توګه غوره شوی ځکه چې دا یو پیاوړی، وړیا او ښه مستند سیسټم دی.

د هارډویر پلیټ فارم سره مسله شدیده شوې ده د څارنې لاندې د جلا ماشین ایښودل هم خورا ښه حل نه دی - یا د نوي تجهیزاتو پیرود کول ګران دي ، یا د زړو تجهیزاتو لټون کول + په وړو شرکتونو کې د سرور سره پرله پسې ستونزې شتون لري. هارډویر

د بلډروټ جوړونې سیسټم کارول تاسو ته اجازه درکوي ځانګړي حلونه رامینځته کړئ چې د لینوکس عملیاتي سیسټمونو لږترلږه پوهه لرونکي پرسونل لخوا پرمخ وړل کیدی شي. دا سیسټم د پیل کونکو لپاره دوستانه دی ، مګر په ورته وخت کې د تجربه لرونکي پراختیا کونکي په لاسونو کې د دودیز کولو کافي فرصتونه چمتو کوي. دا د ارزانه ، مګر د معلوماتي ټیکنالوژۍ زیربنا بشپړ فعال نظارت ستونزې حل کولو لپاره مناسب دی ، د کارمندانو روزنې لپاره لږترلږه اړتیاو سره چې دا کار کوي.

د حل ګامونه

دا پریکړه شوې وه چې په پیل کې د x86_64 لپاره فرم ویئر رامینځته کړئ ترڅو په qemu کې چل شي ، ځکه چې دا د ډیبګ کولو لپاره اسانه او ګړندی حل دی. بیا یې د بازو واحد بورډ کمپیوټر ته پورټ کړئ (ما د اسوس ټینکر بورډ خوښ کړ).

buildroot د جوړونې سیسټم په توګه غوره شوی. په پیل کې، دا د زبیبکس کڅوړه نه لري، نو دا باید پورټ شي. د روسیې په ځای کې ستونزې شتون درلود، چې د مناسبو پیچونو په پلي کولو سره حل شوي (یادونه: د بلډروټ په نویو نسخو کې، دا پیچ نور اړتیا نلري).

پخپله د زبکس کڅوړه پورټ کول به په جلا مقاله کې تشریح شي.

څرنګه چې هرڅه باید د فرم ویئر په توګه کار وکړي (د نه بدلیدونکي سیسټم عکس + د بیرته راګرځیدونکي ترتیب / ډیټابیس فایلونه) ، نو دا اړینه وه چې خپل سیسټم شوي اهداف ، خدمات او ټایمرونه (هدف ، خدمت ، ټایمر) ولیکئ.

دا پریکړه وشوه چې میډیا په 2 برخو وویشئ - یوه برخه د سیسټم فایلونو سره او بله برخه د بدلون وړ تشکیلاتو او زیبکس ډیټابیس فایلونو سره.

د ډیټابیس پورې اړوند ستونزو حل کول یو څه ډیر ستونزمن و. زه نه غواړم دا مستقیم په رسنیو کې ځای په ځای کړم. په ورته وخت کې، د ډیټابیس اندازه کولی شي هغه اندازې ته ورسیږي چې د احتمالي رامډیسک اندازې څخه ډیر وي. له همدې امله ، یو جوړجاړی حل غوره شوی: ډیټابیس د SD کارت په دویمه برخه کې موقعیت لري (د عصري SLC کارتونه تر 30 پورې د لیکلو دورې لري) ، مګر داسې ترتیب شتون لري چې د بهرني میډیا کارولو ته اجازه ورکوي (د مثال په توګه ، USB- hdd).

د تودوخې څارنه د RODOS-5 وسیلې له لارې پلي شوې. البته، تاسو کولی شئ دالاس 1820 مستقیم وکاروئ، مګر دا په یو USB کې ګړندی او اسانه و.

grub86 د x64_2 لپاره د بوټلوډر په توګه غوره شوی و. دا اړینه وه چې د پیل کولو لپاره لږترلږه ترتیب ولیکئ.

په qemu کې د ډیبګ کولو وروسته، دا د Asus ټینکر بورډ ته لیږدول شوی. زما د پوښښ جوړښت په پیل کې د کراس پلیټ فارم په توګه ټاکل شوی و - د هر بورډ لپاره ځانګړي ترتیبونه تخصیص کول (بورډ ډیف کنفیګ ، بوټلوډر ، د سیسټم برخې سره عکس رامینځته کول) او د فایل سیسټم دودیز کولو / د ډیټا سره عکس رامینځته کولو کې اعظمي یووالی. د دې چمتووالي له امله، پورټینګ په چټکۍ سره روان شو.

دا خورا سپارښتنه کیږي چې د ابتدايي مقالو لوستل:
https://habr.com/ru/post/448638/
https://habr.com/ru/post/449348/

د راټولو څرنګوالی

پروژه په ګیتوب کې زیرمه شوې
د ذخیره کلون کولو وروسته، د لاندې فایل جوړښت ترلاسه کیږي:

[alexey@comp monitor]$ ls -1
buildroot-2019.05.tar.gz
overlay
README.md
run_me.sh

buildroot-2019.05.tar.gz - د بلډروټ آرشیف پاک کړئ
overlay زما لارښود د بهرني ونې سره دی. دا هغه ځای دی چې تاسو ورته اړتیا لرئ د buildroot په کارولو سره د فرم ویئر جوړولو لپاره زیرمه شوي.
README.md - د پروژې تشریح او لارښود په انګلیسي کې.
run_me.sh یو سکریپټ دی چې د جوړونې سیسټم چمتو کوي. د آرشیف څخه بلډروټ پراخوي، دې ته یو پوښښ ضمیمه کوي (د بهرنۍ ونې میکانیزم له لارې) او تاسو ته اجازه درکوي چې د غونډې لپاره هدف بورډ غوره کړئ

[0] my_asus_tinker_defconfig
[1] my_beaglebone_defconfig
[2] x86_64_defconfig
Select defconfig, press A for abort. Default [0]

له دې وروسته، یوازې د buildroot-2019.05 لارښود ته لاړ شئ او د میک کمانډ چل کړئ.
یوځل چې جوړونه بشپړه شي ، د جوړونې ټولې پایلې به د محصول / عکسونو لارښود کې وي:

[alexey@comp buildroot-2019.05]$ ls -1 output/images/
boot.img
boot.vfat
bzImage
data
data.img
external.img
external.qcow2
grub-eltorito.img
grub.img
intel-ucode
monitor-0.9-beta.tar.gz
qemu.qcow2
rootfs.cpio
sdcard.img
sys
update

اړین فایلونه:

  • sdcard.img - په SD کارت کې د ثبت کولو لپاره د میډیا عکس (د ویډوز لاندې د dd یا rufus له لارې).
  • qemu.qcow2 - په qemu کې د چلولو لپاره د رسنیو عکس.
  • external.qcow2 - د ډیټابیس لپاره بهرنۍ رسنۍ عکس
  • monitor-0.9-beta.tar.gz - د ویب انٹرفیس له لارې د تازه کولو آرشیف

د لارښودونو نسل

دا د ورته لارښوونې څو ځله لیکلو ارزښت نلري. او ترټولو منطقي شی دا دی چې دا یو ځل په مارک ډاون کې ولیکئ ، او بیا یې د ډاونلوډ کولو لپاره PDF او د ویب انٹرفیس لپاره html ته واړوئ. دا د پانډاک کڅوړې څخه مننه امکان لري.

په ورته وخت کې، دا ټولې فایلونه باید تولید شي مخکې له دې چې د سیسټم عکس راټول شي؛ دا د جوړیدو وروسته سکریپټونه لا دمخه بې ګټې دي. له همدې امله، نسل د لارښود کڅوړې په بڼه ترسره کیږي. تاسو کولی شئ پوښښ / بسته / لارښود وګورئ.

manuals.mk فایل (کوم چې ټول کار کوي)

################################################################################
#
# manuals
#
################################################################################

MANUALS_VERSION:= 1.0.0
MANUALS_SITE:= ${BR2_EXTERNAL_monitorOverlay_PATH}/package/manuals
MANUALS_SITE_METHOD:=local

define MANUALS_BUILD_CMDS
    pandoc -s -o ${TARGET_DIR}/var/www/manual_en.pdf ${BR2_EXTERNAL_monitorOverlay_PATH}/../README.md
    pandoc -f markdown -t html -o ${TARGET_DIR}/var/www/manual_en.html ${BR2_EXTERNAL_monitorOverlay_PATH}/../README.md
endef

$(eval $(generic-package))

سیسټم D

د لینکس نړۍ په فعاله توګه سیسټم ته حرکت کوي، او زه باید دا هم وکړم.
یو له خوندور نوښتونو څخه د ټایمر شتون دی. په عموم کې، د دوی په اړه جلا مقاله لیکل کیږي (او نه یوازې د دوی په اړه)، مګر زه به تاسو ته په لنډه توګه ووایم.

داسې کړنې شتون لري چې باید په دوره توګه ترسره شي. زه اړتیا لرم چې د lighttpd او php-fpm لاګونو پاکولو لپاره logrotate چل کړم. معمول شی به دا وي چې په کرون کې کمانډونه ولیکئ ، مګر ما پریکړه وکړه چې د سیسټمډ مونوټونیک ټایمر وکاروم. نو لوګروټیټ په سخت وخت وقفه کې چلیږي.

البته ، دا ممکنه ده چې ټایمر رامینځته کړئ چې په ټاکلو نیټو ډزې کوي ، مګر ما دې ته اړتیا نه درلوده.
د ټایمر بیلګه:

  • د ټایمر فایل
    
    [Unit]
    Description=RODOS temp daemon timer

[ټایمر] OnBootSec=1 دقیقې
OnUnitActiveSec=1 دقیقې

[ناستول] WantedBy=timers.target

- Файл сервиса, вызываемого таймером:
```bash
[Unit]
Description=RODOS temp daemon

[Service]
ExecStart=/usr/bin/rodos.sh

ملاتړ شوي بورډونه

د اسوس ټینکر بورډ اصلي بورډ دی چې په هغې کې هرڅه باید کار وکړي. د ارزانه او خورا ځواکمن په توګه غوره شوی.

بیګلبون تور لومړی تخته ده چې عملیات یې ازمول شوي (د ډیر پیاوړي بورډ انتخاب په جریان کې).

Qemu x86_64 - د ډیبګ کولو پراختیا لپاره کارول کیږي.

دا څنګه کار کوي؟

په پیل کې، د ترتیباتو دوه مرحلې بیا رغونه واقع کیږي:

  • د Settings_restore سکریپټ چلول (د خدمت له لارې). دا د سیسټم لومړني تنظیمات بحالوي - د وخت زون ، ځای ، د شبکې تنظیمات او نور.
  • د چمتو کولو سکریپټ چلول (د خدمت له لارې) - دلته زیبکس او ډیټابیس چمتو شوي ، IP کنسول ته محصول دی.

کله چې تاسو لومړی دا پیل کړئ، د SD کارت د دویمې برخې اندازه ټاکل کیږي. که چیرې لاهم غیر تخصیص شوي ځای شتون ولري، رسنۍ بیا ویشل کیږي، او د معلوماتو برخه ټول خالي ځای نیسي. دا د نصب کولو عکس اندازه کمولو لپاره ترسره کیږي (sdcard.img). سربیره پردې ، د postgresql کاري لارښود پدې مرحله کې رامینځته شوی. له همدې امله د نوي کیریر سره لومړی لانچ به د راتلونکو څخه اوږد وي.

کله چې یو بهرنی ډرایو وصل کړئ، د پیل په وخت کې دا د وړیا ډرایو لټون کوي ​​​​او د بهرني لیبل سره یې ext4 کې بڼه کوي.

پاملرنه! کله چې یو بهرني ډرایو وصل کړئ (همدارنګه د دې منحل کول یا ځای په ځای کول) ، تاسو اړتیا لرئ بیک اپ جوړ کړئ او تنظیمات بحال کړئ!

د RODOS 5 وسیله د تودوخې د څارنې لپاره کارول کیږي، تولید کونکی د وسیله سره کار کولو لپاره د دې کارونې سرچینې کوډ چمتو کوي. کله چې سیسټم چالان شي، د روډوس ټایمر پیل کیږي، کوم چې دا یوټیلیټ په دقیقه کې یو ځل چلوي. اوسنۍ تودوخه د فایل /tmp/rodos_current_temp ته لیکل کیږي، وروسته له دې چې زیبکس کولی شي دا فایل د سینسر په توګه وڅاري.

د ترتیباتو ذخیره کولو میډیا په / ډاټا ډایرکټر کې نصب شوې.

کله چې سیسټم پیل کړئ او د عملیاتو لپاره یې چمتو کړئ ، لاندې پیغام په کنسول کې څرګندیږي:

System starting, please wait

د چمتووالي کار بشپړولو وروسته، دا به د IP پتې ښودلو ته بدل شي:

current ip 192.168.1.32
Ready to work

د تودوخې څارنې لپاره د زبکس ترتیب کول

د تودوخې د څارنې لپاره، یوازې 2 ګامونه واخلئ:

  • د RODOS وسیله د USB پورټ سره وصل کړئ
  • په زیبکس کې د معلوماتو توکي جوړ کړئ

د زیبکس ویب انٹرفیس خلاص کړئ:

  • د تشکیلاتو برخه خلاص کړئ → کوربه
  • زموږ د زیبکس سرور په لیکه کې په توکو کلیک وکړئ
  • د توکي په جوړولو کلیک وکړئ

Buildroot: د زیبکس سرور سره د کراس پلیټ فارم فرم ویئر رامینځته کول

لاندې معلومات داخل کړئ:

  • نوم - ستاسو په اختیار کې (د مثال په توګه، serverRoomTemp)
  • ډول - د زبکس ایجنټ
  • کلیدي - Rodos
  • ډول- عددي
  • واحدونه - سي
  • د تاریخ ذخیره کولو دوره - د تاریخ ذخیره کولو دوره. 10 ورځې پاتې دي
  • د رجحان ذخیره کولو دوره - د بدلونونو متحرکاتو لپاره د ذخیره کولو موده. ۳۰ ورځې پاتې دي
  • نوی غوښتنلیک - د سرور د خونې تودوخه

او د ADD تڼۍ فشار ورکړئ.
Buildroot: د زیبکس سرور سره د کراس پلیټ فارم فرم ویئر رامینځته کول

د ویب انٹرفیس له لارې تنظیمات اداره کړئ

ویب انٹرفیس په PHP کې لیکل شوی. اصلي دندې شتون لري:

  • د وسیلې حالت وګورئ
  • د شبکې ترتیبات بدلول
    Buildroot: د زیبکس سرور سره د کراس پلیټ فارم فرم ویئر رامینځته کول
  • د کارن پاسورډ بدلول
  • د وخت زون انتخاب
  • بیک اپ / بیا رغونه / فابریکه بیا تنظیم کول
  • د بهرني ډرایو سره د نښلولو وړتیا
  • سیسټم تازه
    Buildroot: د زیبکس سرور سره د کراس پلیټ فارم فرم ویئر رامینځته کول

ویب انٹرفیس ته ننوتل د پټنوم خوندي دی. د پیل پاڼه - لارښود.

د زببکس انٹرفیس پته: ${ip/dns}/zabbix
د مدیریت انٹرفیس پته: ${ip/dns}/manage
Buildroot: د زیبکس سرور سره د کراس پلیټ فارم فرم ویئر رامینځته کول

په قیمو کې چلول

qemu-system-x86_64 -smp 4 -m 4026M -enable-kvm -machine q35,accel=kvm -device intel-iommu -cpu host -net nic -net پل,br=bridge0 -device virtio-scsi-pci,id= scsi0 -drive file=output/images/qemu.qcow2,format=qcow2,aio=threads -device virtio-scsi-pci,id=scsi0 -drive file=output/images/external.qcow2,format=qcow2,aio=threads

دا کمانډ به د 4 کورونو سره یو سیسټم پیل کړي، 2048 RAM، KVM فعال شوی، په برج 0 کې د شبکې کارت او دوه ډیسکونه: یو د سیسټم لپاره او یو بهرنی د پوسټګریسق ایل لپاره.

انځورونه په ورچوئل باکس کې بدلیدلی او چلولی شي:

qemu-img convert -f qcow2  qemu.qcow2 -O vdi qcow2.vdi
qemu-img convert -f qcow2  external.qcow2 -O vdi external.vdi

بیا یې په مجازی بکس کې وارد کړئ او د ساټا له لارې وصل شئ.

پایلې

په پروسه کې ، زه د کارونې لپاره چمتو محصول رامینځته کولو کې علاقه لرم - د خورا ښکلي انٹرفیس سره (زه یې لیکل نه خوښوم) ، مګر هغه چې کار کوي او تنظیم کول اسانه دي.

په KVM کې د زبیبکس اپلانس نصبولو وروستۍ هڅه وښودله چې دا مرحله سمه وه (د نصب کولو بشپړیدو وروسته، سیسټم نه پیل کیږي). شاید زه یو څه غلط کوم 😉

مارټریټس

https://buildroot.org/

سرچینه: www.habr.com

Add a comment