Keepalived test


Tizim jarayonlarini boshqarish



Yüklə 13,79 Mb.
səhifə65/125
tarix21.08.2023
ölçüsü13,79 Mb.
#140060
1   ...   61   62   63   64   65   66   67   68   ...   125
abdurakhmonov

Tizim jarayonlarini boshqarish


demonlar sifatida ham tanilgan, serveringizda fonda ishlaydigan dasturlar bo'lib, odatda u ishga tushganda avtomatik ravishda ishga tushadi. Biz odatda bu xizmatlarni bevosita boshqarmaymiz, chunki ular o‘z vazifalarini bajarish uchun fonda ishlaydi, bizning kiritishimiz kerak bo‘lganda ham. Misol uchun, agar bizning serverimiz DHCP serveri bo'lsa va isc-dhcp-server jarayonini ishga tushirsa, bu jarayon fonda ishlaydi, DHCP so'rovlarini tinglaydi va ular kelganda ularga yangi IP-tasdiqlashlarni beradi. Ko'pincha, qachon biz xizmat sifatida ishlaydigan dasturni o'rnatamiz, Ubuntu serverimizni yuklaganimizda uni ishga tushirish uchun sozlaydi, shuning uchun uni o'zimiz boshlashimiz shart emas. Agar xizmat muammoga duch kelmasa, biz uni to'xtatishni aytmagunimizcha, u mamnuniyat bilan o'z ishini abadiy bajarishda davom etadi. Linuxda xizmatlar o'zining boshlang'ich tizimi tomonidan boshqariladi, bu PID 1 deb ham ataladi, chunki Linux tizimining boshlang'ich tizimi har doim bu PIDni oladi.
So'nggi yillarda Ubuntu serverida jarayonlarni boshqarish usuli sezilarli darajada o'zgardi. Ubuntu o'zining boshlang'ich tizimi uchun systemd ga o'tdi, bu bir necha yil oldin Upstart edi. Ubuntu 16.04 Ubuntu ning systemd bilan birinchi LTS versiyasi edi va bu bugungi kunda Ubuntu 20.04 da ham shunday, chunki oʻshandan beri bizda ikkita LTS relizi bor edi. systemd ancha vaqtdan beri standart bo'lib kelganligi sababli, biz e'tiborimizni xizmatlarimizni boshqarish uchun u bilan ishlatiladigan buyruqlarga qaratamiz. Eski init tizimlari eskirmoqda.
systemd bilan xizmatlar birliklar sifatida tanilgan, ammo barcha maqsadlar va maqsadlarda "xizmat", "daemon" va "birlik" atamalari bir xil ma'noni anglatadi. Men Linuxdan 18 yildan ko'proq vaqt oldin foydalanishni boshlaganimdan beri, men hali ham odatiy bo'lmagan tizim birliklarini xizmatlar deb atayman. Ushbu "birliklarni" boshqarishimizga yordam berish uchun systemd serverimizdagi birliklar holatini ishga tushirish, to'xtatish va ko'rish imkonini beruvchi systemctl buyrug'ini o'z ichiga oladi. Buni tushuntirish uchun men OpenSSH dan misol sifatida foydalanaman.
Birlik nomining ahamiyati yo'q, chunki systemctl buyrug'ining sintaksisi biz o'zaro aloqada bo'lgan birlik nomidan qat'iy nazar bir xil. Siz Apache nusxasini, ma'lumotlar bazasi serveringizni ishga tushirish, to'xtatish yoki qayta ishga tushirish uchun systemctl dan foydalanishingiz mumkin yoki hatto butun tarmoq stekini qayta ishga tushirish uchun foydalanishingiz mumkin. Hech qanday parametr yoki parametrsiz systemctl buyrug'i birliklar ro'yxatini qobiqqa tashlab yuboradigan ro'yxat-birliklar opsiyasini qabul qiladi. Bu biroz chalkash bo'lishi mumkin, shuning uchun agar siz qidirmoqchi bo'lgan birlik nomini allaqachon bilsangiz, chiqishni grepga o'tkazib, satrni qidirishingiz mumkin. Bu siz birlikning aniq nomini bilmasangiz, lekin uning bir qismini biladigan vaziyatda qulaydir:
systemctl |grep ssh
status kalit so'zidan foydalanish, bu sizga qurilma haqida juda foydali ma'lumotlarni ko'rsatadi. Bu maʼlumotlarga qurilma ishlayaptimi yoki yoʻqmi, agar u yoqilgan boʻlsa (yaʼni yuklash vaqtida ishga tushirish uchun sozlangan) hamda qurilma uchun eng soʻnggi jurnal yozuvlari kiradi:
systemctl status ssh
Ushbu buyruq quyidagi kabi chiqishni ishlab chiqaradi:

Ko'pincha siz rootga kirishga muhtoj bo'lmasdan birliklarning holatini tekshirishingiz mumkin, ammo mavjud bo'lgan barcha ma'lumotlarni ko'rmasligingiz mumkin. Skrinshotda siz ssh xizmati uchun bir nechta jurnal yozuvlarini ko'rishingiz mumkin, lekin ba'zi birliklar bu yozuvlarni sudosiz ko'rsatmaydi. Xususan, ssh birligi bilan biz sudo bilan yoki bo'lmasdan holatni tekshirishda jurnal yozuvlarini ko'ramiz.
Skrinshotda siz ko'rishingiz mumkin bo'lgan yana bir narsa shundaki, ssh birligining nomi aslida ssh.service dir, lekin siz nomning.service qismini kiritishingiz shart emas, chunki u sukut bo'yicha nazarda tutilgan. Ba'zan, systemctl bilan jarayonning holatini ko'rishda, ekranda bo'sh joyni tejash uchun chiqish qisqarishi mumkin. Bunga yo'l qo'ymaslik va to'liq jurnal yozuvlarini ko'rish uchun -l opsiyasini qo'shing:
systemctl status -l ssh
E'tibor berish kerak bo'lgan yana bir narsa - bu qurilmaning vendor preset. Systemd uchun xizmat faylini o'z ichiga olgan Ubuntu'dagi aksariyat paketlar uni avtomatik ravishda ishga tushiradi, ammo boshqa tarqatishlar odatda birliklarni ishga tushirmaydi va yoqmaydi (masalan, CentOS). Ssh misolida, vendor preset yoqilganligini ko'rishingiz mumkin. Bu shuni anglatadiki, openssh-server paketini o'rnatganingizdan so'ng, ssh.service birligi avtomatik ravishda yoqiladi. Buni Faol qatorni tekshirish orqali tasdiqlashingiz mumkin (bu yerda misol chiqishda faol (ishlayotgan) ) qurilma ishlayotganligini bildiradi. Yuklangan qator qurilma yoqilganligini aniqlaydi, shuning uchun biz keyingi safar serverni ishga tushirganimizda, ssh avtomatik ravishda yuklanishini bilamiz. Garchi systemd birliklari odatda yoqilgan va o'z paketini o'rnatishda Ubuntu'da avtomatik ravishda ishga tushirilsa ham, bu hali ham farq qilishi mumkin. Yangi paketni o'rnatganingizda, har safar yangi paketni o'rnatganingizda qurilmaning holatini tekshirib ko'ring, shunda siz uning sozlamalaridan xabardor bo'lasiz.
Jihozni ishga tushirish va to'xtatish ham xuddi shunday oson; Istalgan effektga erishish uchun siz faqat systemctl bilan ishlatadigan kalit so'zni boshlash yoki to'xtatish uchun o'zgartirishingiz kerak:
sudo systemctl stop ssh sudo systemctl start ssh
Qo'shimcha kalit so'zlar mavjud, masalan, restart (bir vaqtning o'zida oldingi ikkita buyruq misollari haqida g'amxo'rlik qiladi) va ba'zi birliklar hatto reload xususiyatiga ega, bu sizga butun dasturni o'chirib tashlamasdan yangi konfiguratsiya sozlamalarini faollashtirishga imkon beradi. Buning nima uchun foydali ekanligiga misol sifatida mahalliy yoki tashqi foydalanuvchilarga veb-sahifalarni taqdim qiluvchi Apache-ni keltirish mumkin. Agar siz Apache-ni to'xtatsangiz, barcha foydalanuvchilar siz xizmat ko'rsatayotgan veb-saytdan uziladi. Agar siz yangi sayt qo'shsangiz, restart o'rniga reload foydalanishingiz mumkin, bu siz qo'shgan har qanday yangi konfiguratsiyani mavjud ulanishlarni buzmasdan faollashtiradi. Biz Apache-ni veb-kontentga xizmat ko'rsatish 14-bobida ko'rib chiqamiz, shuning uchun hozir Apache haqida ko'p tashvishlanmang. Bu qo'shimcha funksiyalarga ega bo'lgan birlikning yaxshi namunasidir. Hamma birliklar reload opsiyasiga ega emas, shuning uchun ishonch hosil qilish uchun jihozni taqdim etadigan dastur hujjatlarini tekshirishingiz kerak.
Oldingi misollarda OpenSSH uchun blokni ishga tushirish va to'xtatish haqida aytib o'tganim uchun, qiziq tomoni shundaki, agar sizda ochiq bo'lsa, bu amaldagi SSH seansini server bilan uzib qo'ymaydi. Agar siz ssh xizmatini to'xtatsangiz, u ulanishingizni to'xtatmaydi. Ochiq ulanishlar saqlanib qoladi va SSH-ni to'xtatish faqat yangi ulanishlarni oldini oladi. Shuning uchun, SSH boshqa birliklar (masalan, Apache) bilan solishtirganda farq qiladi, chunki qurilma qayta ishga tushirilganda mavjud ulanishlar uzilmaydi.
Yuqorida aytib o'tganimdek, agar siz server ishga tushganda birlik avtomatik ravishda ishga tushishini istasangiz, uni yoqishingiz kerak bo'ladi. Ko'pincha birliklar avtomatik ravishda yoqiladi, lekin agar yoqilmaganini topsangiz, uni enable kalit so'zi bilan yoqishingiz mumkin:
sudo systemctl enable ssh
Qurilmani o'chirish ham xuddi shunday oson:
sudo systemctl disable ssh

Siz nafaqat qurilmani yoqish, balki uni bir vaqtning o'zida ishga tushirish jarayonini ham birlashtira olasiz:

sudo systemctl enable - now ssh

--now argumenti systemctl-ga keyingi yuklashni kutish yoki start argumentini alohida buyruqda ishga tushirish o'rniga uni ishga tushirgandan so'ng darhol ishga tushirishni aytadi.

Systemd asosan birliklarni boshqarish uchun ishlatilsa ham, bu Linux tizimida bir nechta narsalarni, jumladan DNS-ni hal qilish, tarmoqqa ulanish va boshqalarni boshqaradigan butun platformadir. systemd hatto jurnalga yozish bilan ham shug'ullanadi va u bizga jurnalga kirish ma'lumotlarini ko'rish uchun foydalanishimiz mumkin bo'lgan jurnalctl buyrug'ini beradi (shuning uchun systemctl status ssh chiqishi bizga jurnal yozuvlarini ko'rsatishi mumkin edi). Biz 4-bob, Navigatsiya va asosiy buyruqlar bo'limida tizimga kirishni biroz muhokama qildik va buni 21-bobda, Ubuntu serverlaridagi nosozliklarni bartaraf etishda batafsil ko'rib chiqamiz (shuningdek, jurnalctl buyrug'ining keyingi muhokamasini o'z ichiga oladi). Hozircha shuni tushuningki, systemd bizga boshqarishga yordam beradigan narsalar soniga kelsak, juda keng.

Yüklə 13,79 Mb.

Dostları ilə paylaş:
1   ...   61   62   63   64   65   66   67   68   ...   125




Verilənlər bazası müəlliflik hüququ ilə müdafiə olunur ©azkurs.org 2024
rəhbərliyinə müraciət

gir | qeydiyyatdan keç
    Ana səhifə


yükləyin