Ochiq
Yopish

Kvm ubuntu ni o'rnatish va sozlash 18.04. Kauchuk gipervisor. Biz Linuxda QEMU-KVMni virtualizatsiya qilish uchun mantiqiy guruhlardan foydalanamiz. Virtual mashinaga ulanish

Ushbu kirish maqolasida men xizmatlarni ishlab chiqish jarayonida ishlatiladigan barcha dasturiy vositalarni qisqacha tanishtiraman. Ular keyingi maqolalarda batafsilroq muhokama qilinadi.

Nima uchun? Ushbu operatsion tizim men uchun yaqin va tushunarli, shuning uchun tarqatishni tanlashda hech qanday azob, azob yoki otish yo'q edi. Uning Red Hat Enterprise Linux-ga nisbatan alohida afzalliklari yo'q, ammo tanish tizim bilan ishlashga qaror qilindi.

Agar siz shunga o'xshash texnologiyalardan foydalangan holda infratuzilmani mustaqil ravishda joylashtirishni rejalashtirmoqchi bo'lsangiz, men sizga RHEL-ni olishingizni maslahat beraman: yaxshi hujjatlar va yaxshi yozilgan dastur dasturlari tufayli, bu kattalik tartibi bo'lmasa, albatta ikki baravar sodda bo'ladi va ishlab chiqilgan sertifikatlashtirish tizimi tufayli siz ushbu OT bilan kerakli darajada tanish bo'lgan bir qator mutaxassislarni osongina topishingiz mumkin.

Biz yana foydalanishga qaror qildik Debian siqish dan paketlar to'plami bilan Sid/eksperimental va ba'zi paketlar bizning yamoqlarimiz bilan qayta ko'rib chiqilgan va tuzilgan.
Paketlar bilan omborni nashr etish rejalashtirilgan.

Virtualizatsiya texnologiyasini tanlashda ikkita variant ko'rib chiqildi - Xen va KVM.

Bundan tashqari, Xen-ga asoslangan juda ko'p ishlab chiquvchilar, xostinglar va tijorat echimlari mavjudligi hisobga olindi - KVM-ga asoslangan yechimni amalga oshirish qanchalik qiziqroq edi.

KVM dan foydalanishga qaror qilganimizning asosiy sababi FreeBSD va kelajakda MS Windows bilan virtual mashinalarni ishga tushirish zaruratidir.

Virtual mashinalarni boshqarish uchun API ishlatadigan mahsulotlardan foydalanish juda qulay bo'lib chiqdi: virsh, murod-menejer, virtual o'rnatish, va boshqalar.

Bu virtual mashinalar sozlamalarini saqlaydigan, ularni boshqaradigan, ular bo'yicha statistik ma'lumotlarni saqlaydigan, ishga tushirilganda virtual mashinaning interfeysi ko'tarilganligiga ishonch hosil qiladigan, qurilmalarni mashinaga ulaydigan tizim - umuman olganda, u juda ko'p foydali ishlarni bajaradi. va bundan biroz ko'proq.

Albatta, yechim mukammal emas. Kamchiliklarga quyidagilar kiradi:

  • Mutlaqo aqldan ozgan xato xabarlari.
  • QMP (QEMU Monitor Protocol) bunga imkon bergan bo'lsa-da, virtual mashina konfiguratsiyasining bir qismini tezda o'zgartirish mumkin emas.
  • Ba'zida noma'lum sabablarga ko'ra libvirtd-ga ulanishning iloji bo'lmaydi - u tashqi hodisalarga javob berishni to'xtatadi.

Xizmatni amalga oshirishning eng boshida asosiy muammo virtual mashinalar uchun resurslarni cheklash edi. Xen-da bu muammo resurslarni virtual mashinalar o'rtasida taqsimlovchi ichki rejalashtiruvchi yordamida hal qilindi - va eng yaxshisi, diskdagi operatsiyalarni cheklash qobiliyati ham amalga oshirildi.

Yadro resurslarini taqsimlash mexanizmi paydo bo'lgunga qadar KVMda bunday narsa yo'q edi. Odatdagidek Linuxda bu funksiyalarga kirish maxsus fayl tizimi orqali amalga oshirildi guruh, bunda oddiy write() tizimi chaqiruvlaridan foydalanib, jarayonni guruhga qoʻshish, unga toʻtiqush ogʻirligini belgilash, u ishlaydigan yadroni belgilash, jarayon foydalanishi mumkin boʻlgan disk oʻtkazuvchanligini belgilash yoki yana, , unga vazn belgilang.

Foydasi shundaki, bularning barchasi yadro ichida amalga oshiriladi va undan nafaqat server uchun, balki ish stoli uchun ham foydalanish mumkin (bu mashhur "Mo''jizalar yaratuvchi ~ 200 Line Linux Kernel Patch" da ishlatilgan). Va mening fikrimcha, bu 2.6 filialidagi eng muhim o'zgarishlardan biri bo'lib, mening sevimli #12309-ni hisobga olmaganda, boshqa fayl tizimini topshirish emas. Ehtimol, POHMELFSdan tashqari (lekin faqat ism tufayli).

Ushbu yordamchi kutubxonaga mening munosabatim juda noaniq.

Bir tomondan, u shunday ko'rinadi:

Va bu narsani manbadan yig'ish ham juda qiyin, paketga kamroq: ba'zida menga Linux From Scratch noldan qurish biroz osonroqdek tuyuladi.

Boshqa tomondan, bu virtual mashinalar uchun tasvirlar yaratish, ularni o'zgartirish, siqish, grubni o'rnatish, bo'lim jadvalini o'zgartirish, konfiguratsiya fayllarini boshqarish, apparat mashinalarini virtual muhitga o'tkazish, virtual mashinalarni uzatish imkonini beruvchi juda kuchli narsadir. bir tasvirdan ikkinchisiga, virtual mashinalarni tasvirdan apparatga o'tkazing va rostini aytsam, bu erda mening tasavvurim meni biroz pastga tushiradi. Oh, ha: siz Linux virtual mashinasida demonni ishga tushirishingiz va virtual mashina ma'lumotlariga jonli ravishda kirishingiz mumkin va bularning barchasini shell, python, perl, java, ocaml da bajarishingiz mumkin. Bu nima qilish mumkinligining qisqa va to'liq ro'yxati.

Qizig'i shundaki, kodning ko'p qismi yig'ilish vaqtida, shuningdek, loyiha uchun hujjatlar yaratiladi. Ocaml va Perl keng qo'llaniladi. Kodning o'zi C tilida yoziladi, so'ngra OCaml-ga o'raladi va kodning takrorlangan qismlari o'zlari ishlab chiqariladi. Tasvirlar bilan ishlash maxsus xizmat tasvirini (supermin apparati) ishga tushirish orqali amalga oshiriladi, unga buyruqlar kanal orqali yuboriladi. Ushbu qutqaruv rasmida tizim ma'muri uchun foydali bo'lgan parted, mkfs va boshqalar kabi ma'lum bir yordamchi dasturlar to'plami mavjud.

Yaqinda men uni uyda ishlatishni boshladim, nandroid tasviridan kerakli ma'lumotlarni chiqarganimda. Lekin buning uchun yaffs-ni yoqadigan yadro kerak.

Boshqa

Quyida foydalanilgan dasturiy ta'minot tavsifiga bir nechta qiziqarli havolalar mavjud - agar qiziqsangiz, uni o'zingiz o'qing va o'rganing. Masalan,

KVM yoki yadro virtual moduli Linux yadrosi uchun virtualizatsiya moduli bo'lib, u sizning kompyuteringizni virtual mashinalarni boshqarish uchun gipervisorga aylantirish imkonini beradi. Ushbu modul yadro darajasida ishlaydi va Intel VT va AMD SVM kabi apparat tezlashtirish texnologiyalarini qo'llab-quvvatlaydi.

O'z-o'zidan, foydalanuvchi maydonida KVM dasturi hech narsani virtualizatsiya qilmaydi. Buning o'rniga u yadrodagi mehmon uchun virtual manzil bo'shliqlarini sozlash uchun /dev/kvm faylidan foydalanadi. Har bir mehmon mashinasida o'z video kartasi, tarmoq va ovoz kartasi, qattiq disk va boshqa jihozlar bo'ladi.

Shuningdek, mehmon tizimi haqiqiy operatsion tizim komponentlariga kirish huquqiga ega bo'lmaydi. Virtual mashina butunlay izolyatsiya qilingan joyda ishlaydi. Siz kvm dan GUI tizimida ham, serverlarda ham foydalanishingiz mumkin. Ushbu maqolada biz Ubuntu 16.04 kvm ni qanday o'rnatishni ko'rib chiqamiz

KVM-ni o'rnatishni davom ettirishdan oldin, protsessoringiz Intel-VT yoki AMD-V-dan apparat virtualizatsiyasini tezlashtirishni qo'llab-quvvatlashini tekshirishingiz kerak. Buning uchun quyidagi buyruqni bajaring:

egrep -c "(vmx | svm)" /proc/cpuinfo

Agar natija 0 ni qaytarsa, protsessoringiz apparat virtualizatsiyasini qo'llab-quvvatlamaydi, agar 1 yoki undan ko'p bo'lsa, siz KVM-ni kompyuteringizda ishlatishingiz mumkin.

Endi biz KVM-ni o'rnatishni davom ettirishimiz mumkin, dasturlar to'plamini to'g'ridan-to'g'ri rasmiy omborlardan olish mumkin:

sudo apt o'rnating qemu-kvm libvirt-bin bridge-utils virt-manager cpu-checker

Biz nafaqat kvm yordam dasturini, balki libvirt kutubxonasini, shuningdek, virtual mashina menejerini ham o'rnatdik. O'rnatish tugallangach, foydalanuvchini libvirtd guruhiga qo'shishingiz kerak, chunki faqat root va ushbu guruhdagi foydalanuvchilar KVM virtual mashinalaridan foydalanishlari mumkin:

sudo gpasswd -a USER libvirtd

Ushbu buyruqni ishga tushirgandan so'ng, tizimdan chiqing va qayta kiring. Keyinchalik, hamma narsa to'g'ri o'rnatilganligini tekshirib ko'raylik. Buning uchun kvm-ok buyrug'idan foydalaning:

MA'LUMOT: /dev/kvm mavjud
KVM tezlashuvidan foydalanish mumkin

Agar hamma narsa to'g'ri bajarilgan bo'lsa, xuddi shu xabarni ko'rasiz.

Ubuntu 16.04 da KVM dan foydalanish

Siz Ubuntu-da kvm-ni o'rnatish vazifasini bajardingiz, lekin siz hali bu virtualizatsiya muhitidan foydalana olmaysiz, lekin uni hali ham sozlashingiz kerak. Keyinchalik, kvm Ubuntu qanday tuzilganligini ko'rib chiqamiz. Avval siz tarmoqni sozlashingiz kerak. Biz virtual mashina kompyuter tarmog'iga ulanadigan ko'prik yaratishimiz kerak.

NetworkManager-da ko'prikni o'rnatish

Buni bir necha usul bilan amalga oshirish mumkin, masalan, NetworkManager tarmoq konfiguratsiya dasturidan foydalanishingiz mumkin.

Paneldagi NetworkManager belgisini bosing va keyin tanlang ulanishlarni o'zgartirish, keyin tugmani bosing Qo'shish:

Keyin ulanish turini tanlang Ko'prik va bosing Yaratmoq:

Ochilgan oynada tugmani bosing Qo'shish, ko'prikimizni internetga ulash uchun:

Ro'yxatdan tanlang Ethernet va bosing Yaratmoq:

Keyingi oynada maydonni tanlang qurilma, ko'prik bog'lanishi kerak bo'lgan tarmoq interfeysi:

Endi siz ko'prikni tarmoq ulanishlari ro'yxatida ko'rasiz. O'zgarishlarni to'liq qo'llash uchun tarmoqni qayta ishga tushirish qoladi, buning uchun ishga tushiring:

Ko'prikni qo'lda sozlash

Avval siz bridge-utils yordam dasturlari to'plamini o'rnatishingiz kerak, agar siz hali buni qilmagan bo'lsangiz:

sudo apt o'rnatish bridge-utils

Keyin, brctl dasturidan foydalanib, biz kerakli ko'prikni yaratishimiz mumkin. Buning uchun quyidagi buyruqlardan foydalaning:

sudo brctl addbr bridge0
$ sudo ip addr ko'rsatish
$ sudo addif bridge0 eth0

Birinchi buyruq br0 ko'prigi qurilmasini qo'shadi, ikkinchisi bilan siz qaysi tarmoq interfeysi tashqi tarmoqqa asosiy ulanish ekanligini aniqlashingiz kerak, mening holimda bu eth0. Va oxirgi buyruq bilan biz br0 ko'prigini eth0 ga ulaymiz.

Endi siz tarmoq sozlamalariga bir nechta satrlarni qo'shishingiz kerak, shunda tizim ishga tushirilgandan so'ng hamma narsa avtomatik ravishda boshlanadi. Buning uchun /etc/network/interfaces faylini oching va u erga quyidagi qatorlarni qo'shing:

sudo gedit /etc/network/interfaces

orqaga qaytish
avtomatik ko'prik0
iface lo inet loopback
iface bridge0 inet dhcp
bridge_ports eth0

Sozlamalar qo'shilgach, tarmoqni qayta yoqing:

sudo systemctl tarmoqni qayta ishga tushiring

Endi KVMni o'rnatish va sozlash to'liq yakunlandi va siz birinchi virtual mashinangizni yaratishingiz mumkin. Shundan so'ng siz quyidagi buyruq yordamida mavjud ko'priklarni ko'rishingiz mumkin:

KVM virtual mashinalarini yaratish

Ubuntu KVM-ni sozlash tugallandi va endi biz undan foydalanishga o'tishimiz mumkin. Birinchidan, mavjud virtual mashinalar ro'yxatini ko'rib chiqaylik:

virsh -c qemu:///tizim ro'yxati

Bo‘sh. Terminal orqali yoki grafik interfeysda virtual mashina yaratishingiz mumkin. Terminal orqali yaratish uchun virt-install buyrug'idan foydalaning. Avval libvirt jildiga o'tamiz:

CD /var/lib/libvirt/boot/

CentOS-ni o'rnatish uchun buyruq quyidagicha ko'rinadi:

sudo virt-install\
--virt-type = kvm \
--nomi centos7\
--ram 2048\
--vcpus=2 \
--os-variant=rhel7 \
--hvm\
--cdrom=/var/lib/libvirt/boot/CentOS-7-x86_64-DVD-1511.iso \
--tarmoq = ko'prik = br0, model = virtio \
--graphics vnc\
--disk path=/var/lib/libvirt/images/centos7.qcow2,size=40,bus=virtio,format=qcow2

Keling, ushbu buyruqning parametrlari nimani anglatishini batafsil ko'rib chiqaylik:

  • mehribon turdagi- virtualizatsiya turi, bizning holatlarimizda kvm;
  • nomi- yangi avtomobilning nomi;
  • Ram- megabaytdagi xotira hajmi;
  • vcpus- protsessor yadrolari soni;
  • os-variant- operatsion tizim turi;
  • cdrom- tizimning o'rnatish tasviri;
  • tarmoq ko'prigi- biz ilgari sozlagan tarmoq ko'prigi;
  • grafika- grafik interfeysga kirish usuli;
  • disk yo'li- ushbu virtual mashina uchun yangi qattiq diskning manzili;

Virtual mashinani o'rnatish tugallangandan so'ng siz VNC ulanish parametrlarini buyruq yordamida bilib olishingiz mumkin:

sudo virsh vncdisplay centos7

Endi siz qabul qilingan ma'lumotlarni VNC mijozingizga kiritishingiz va virtual mashinaga masofadan ham ulanishingiz mumkin. Debian uchun buyruq biroz boshqacha bo'ladi, lekin hamma narsa o'xshash ko'rinadi:

Rasmlar uchun papkaga o'ting:

CD /var/lib/libvirt/boot/

Agar kerak bo'lsa, o'rnatish tasvirini Internetdan yuklab olishingiz mumkin:

sudo wget https://mirrors.kernel.org/debian-cd/current/amd64/iso-dvd/debian-8.5.0-amd64-DVD-1.iso

Keyin virtual mashina yaratamiz:

sudo virt-install\
--virt-type = kvm \
--name=debina8 \
--ram=2048\
--vcpus=2 \
--os-variant=debian8 \
--hvm\
--cdrom=/var/lib/libvirt/boot/debian-8.5.0-amd64-DVD-1.iso \
--tarmoq=bridge=bridge0,model=virtio \
--graphics vnc\
--disk path=/var/lib/libvirt/images/debian8.qcow2,size=40,bus=virtio,format=qcow2

Endi mavjud mashinalar ro'yxatini yana ko'rib chiqamiz:

virsh -c qemu:///tizim ro'yxati

Virtual mashinani ishga tushirish uchun quyidagi buyruqdan foydalanishingiz mumkin:

sudo virsh start mashinasi nomi

To'xtatish uchun:

sudo virsh o'chirish mashinasi nomi

Kutish rejimiga o'tish uchun:

sudo virsh mashina nomini to'xtatib turish

Qayta ishga tushirish uchun:

sudo virsh qayta yuklash mashina nomi

sudo virsh mashina nomini tiklash

Virtual mashinani butunlay olib tashlash uchun:

sudo virsh mashina nomini yo'q qiladi

GUI-da virtual mashinalar yaratish\

Agar sizda grafik interfeysga kirish imkoningiz bo'lsa, terminaldan foydalanishning hojati yo'q, Virtual Manager virtual mashina menejerining to'liq grafik interfeysidan foydalanishingiz mumkin. Dasturni asosiy menyudan ishga tushirish mumkin:

Yangi mashina yaratish uchun monitor belgisi bilan belgini bosing. Keyinchalik, tizimingizning ISO tasvirini tanlashingiz kerak bo'ladi. Haqiqiy CD/DVD drayveridan ham foydalanishingiz mumkin:

Keyingi ekranda virtual mashina uchun mavjud bo'lgan xotira hajmini, shuningdek protsessor yadrolari sonini tanlang:

Ushbu ekranda siz mashinangizda mavjud bo'lgan qattiq disk hajmini tanlashingiz kerak:

Sehrgarning oxirgi bosqichida siz mashina sozlamalari to'g'riligini tekshirishingiz va uning nomini kiritishingiz kerak. Shuningdek, siz mashina tarmoqqa ulanadigan tarmoq ko'prigini ko'rsatishingiz kerak:

Shundan so'ng, mashina foydalanishga tayyor bo'ladi va ro'yxatda paydo bo'ladi. Menejer asboblar panelidagi yashil uchburchak yordamida uni ishga tushirishingiz mumkin.

xulosalar

Ushbu maqolada biz KVM Ubuntu 16.04 ni qanday o'rnatishni ko'rib chiqdik, biz ushbu muhitni ishlashga qanday to'liq tayyorlashni, shuningdek, virtual mashinalarni yaratish va ulardan qanday foydalanishni ko'rib chiqdik. Agar sizda biron bir savol bo'lsa, sharhlarda so'rang!

Xulosa qilib aytganda, Linux-da virtualizatsiya nima haqida Yandex-dan ma'ruza:

O'rnatish haqida avval yozgan edim Qemu-KVM V Debian. Lekin, menimcha, ma'lumotlar to'liq bo'lmagan bo'lib chiqdi. Bundan tashqari, men ba'zi nuanslarni hisobga olmadim. Shuning uchun men sizning e'tiboringizga Qemu-KVM virtual mashinasini o'rnatish bo'yicha yangilangan maqolani keltiraman. Tabiiyki, men eski maqolani o'chirib tashlayman.

Men nima ekanligini tushuntirishim kerak deb o'ylayman virtual mashina, arzimaydi. Ehtimol, siz buni bilasiz (chunki siz ushbu maqolani o'qiyapsiz). Agar yo "q bo" lsa - . Biz to'g'ridan-to'g'ri mavzuga e'tibor qaratamiz. Qemu-KVM to'liq virtualizatsiya qilishning ikkita eng orzuli (mening fikrimcha) texnologiyasini birlashtirish loyihasidir. Qemu turli xil apparat arxitekturalarini qo'llab-quvvatlaydigan o'ziga xos "kompyuter emulyatori" dir. U har qanday qurilma uchun deyarli har qanday operatsion tizimni ishga tushirishi mumkin (masalan, men eski versiyalarni ishga tushirdim Mac OS X, bu uchun PowerPC). Qemu-ning kamchiliklari - bu apparat tezlashuvining yo'qligi tufayli uning sekinligi. Va keyin yana bir loyiha yordamga keladi - KVM. Yoki yadro virtual mashinasi. KVM - bu to'liq virtualizatsiya bilan apparatni tezlashtirish imkonini beruvchi Linux yadro texnologiyasi. KVM ning kamchiligi shundaki, u faqat x86 arxitekturasini qo'llab-quvvatlaydi

Nima uchun Qemu-KVM? Linux uchun bu eng tavsiya etilgan virtualizatsiya loyihasidir. dan tezroq ishlaydi VirtualBox Va VMware o'yinchisi(mening sinovlarimga ko'ra), KVM Linux uchun mahalliy texnologiyadir. Bundan tashqari, agar sizda ikkita video kartaga ega yaxshi o'yin kompyuteringiz bo'lsa, siz Qemu-KVM-ga o'rnatishingiz mumkin Windows, unga video kartalardan birini tashlang va boshqa operatsion tizimga qayta yuklashni unuting. Agar siz o'ynashni xohlasangiz, Windows bilan virtual mashinani ishga tushirasiz va o'ynaysiz. Uskunada o'rnatilgan Windows unumdorligi 95% bo'ladi. Lekin bu shunchaki ajoyib, mening fikrimcha. Bu haqda alohida maqola yozaman. Bu qiziqarli bo'ladi :)

Endi men harakatlar rejamizni tasvirlab beraman. Birinchidan, men misol yordamida o'rnatishni amalga oshiraman Debian 8.2 GNOME 64 bit, garchi boshqa grafik muhitlarda sezilarli farqlar bo'lmasa ham. Ikkinchidan, men KVM bilan faqat grafik rejimda ishlashni tasvirlayman (axir biz uni serverga o'rnatmaymiz). Shuning uchun, odatda serverni virtualizatsiya qilishda qilinganidek, terminallar, skriptlar va boshqalar yo'q. Uchinchidan, men sizga Qemu va KVM uchun hujjatlarni qo'shimcha ravishda o'qishni maslahat beraman (men maqolaning oxirida havolalar beraman). Agar siz ushbu to'plamning barcha imkoniyatlaridan maksimal darajada foydalanmoqchi bo'lsangiz, bu siz uchun juda foydali bo'ladi. Xo'sh, bizning harakatlar rejamiz aniq. Endi harakat bosqichlari:

  • qemu-kvm o'rnatish;
  • grafik menejeri va qo'shimcha yordamchi dasturlarni o'rnatish;
  • tarmoq ko'prigini o'rnatish;
  • virtual mashinalar uchun xotira yaratish;
  • mehmon tizimini o'rnatish.
Birinchidan, keling, kompyuteringiz apparat virtualizatsiyasini qo'llab-quvvatlaydimi yoki yo'qligini tekshirib ko'raylik. Buning uchun terminalda buyruqni bajaring:

egrep "(vmx | svm)" /proc/cpuinfo

Buyruqning chiqishi ikkalasini ham o'z ichiga olishi kerak vmx, yoki svm. Agar ular yo'q bo'lsa, BIOS-da virtualizatsiya yoqilganligini tekshiring (elementlarni qidiring Intel VT-i yoki shunga o'xshash AMD). Agar hech narsa bo'lmasa, demak, omadingiz yo'q.

Kerakli komponentlarni o'rnating:

sudo apt o'rnating qemu-kvm bridge-utils libvirt-bin virt-manager

O'zingizni libvirt guruhiga qo'shing:

sudo adduser $USER libvirt

Endi tarmoqni o'rnatamiz. Barcha virtual mashinalar tarmoqqa kirishlari va bir-biri bilan aloqa qilishlari uchun siz har bir virtual mashina uchun tarmoq ko'prigi va virtual tarmoq kartalarini yaratishingiz kerak ( qurilmalarga teging). Biz virtual mashinalarni grafik interfeysdan o'rnatganimiz sababli, kranlarni qo'lda yaratishga hojat yo'q. Virt menejeri har safar boshlaganimizda buni biz uchun qiladi. Biz faqat ko'prikni sozlashimiz kerak. Birinchidan, yadroda marshrutlashni yoqaylik:

sudo nano /etc/sysctl.conf

Biz net.ipv4_forward=0 qatorini qidiramiz va uning qiymatini o'zgartiramiz 1 . Biz ham saqlaymiz:

sudo sysctl -p

Keyinchalik, men quyidagilarni qabul qilaman: 1) kompyuteringizda routerdan IP-manzilni oladigan bitta tarmoq kartasi mavjud. 2) siz 3G modem orqali Internetga kirasiz va tarmoq kartangiz bepul. Ushbu parametr ko'proq qo'lda ishlashni o'z ichiga oladi, lekin u bir necha marta sinovdan o'tgan (men buni o'zim mashinalardan birida qilganman). Shunday qilib, interfeyslar faylini oching:

sudo nano /etc/network/interfaces

Uning standart tarkibi:



avtomatik lo
iface lo inet loopback

Biz uning tarkibini o'zgartiramiz. Birinchi variant uchun:

manba /etc/network/interfaces.d/*

# Orqaga aylanish tarmog'i interfeysi
avtomatik lo
iface lo inet loopback

avtomatik et0
iface eth0 inet qo'llanma

avtomatik br0
iface br0 inet statik
manzil 192.168.0.2
shlyuz 192.168.0.1
tarmoq niqobi 255.255.255.0
tarmoq 192.168.0.0
translyatsiya 192.168.0.255
bridge_ports eth0
bridge_stp o'chirilgan
bridge_maxwait 0
bridge_fd 0

Ikkinchi variant uchun:

manba /etc/network/interfaces.d/*

# Orqaga aylanish tarmog'i interfeysi
avtomatik lo
iface lo inet loopback

avtomatik ppp0
iface ppp0 inet wvdial

avtomatik et0
iface eth0 inet qo'llanma

avtomatik br0
iface br0 inet statik
manzil 192.168.0.2
shlyuz 192.168.0.1
tarmoq niqobi 255.255.255.0
tarmoq 192.168.0.0
translyatsiya 192.168.0.255
bridge_ports eth0
bridge_stp o'chirilgan
bridge_maxwait 0
bridge_fd 0
yuqoriga marshrut del default br0

Eslatma: tizim ishga tushgandan so'ng modem orqali avtomatik Internetga ulanish kerak bo'lmasa, auto ppp0 va qatorlarni olib tashlang.
iface ppp0 inet wvdial. Aks holda, tizim ishga tushganda, modem USB portiga ulanganligiga ishonch hosil qiling.

Saqlash. Endi modem bilan opsiya uchun siz terish dasturini o'rnatishingiz kerak wvdial:

sudo apt install wvdial

Konfiguratsiyani tahrirlash (eslatma: misol sifatida 3G modem ishlatiladi Beeline. Internetda boshqa modemlar uchun konfiguratsiya misollarini osongina topishingiz mumkin):

sudo nano /etc/wvdial.conf


Init1 = ATZ
Init2 = ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0
Init3 = AT+CGDCONT=1,"IP","home.beeline.ru"
Aqlsiz rejim = 1
ISDN = 0
Modem turi = USB modem
Yangi PPPD = ha
Telefon = *99#
Modem = /dev/ttyACM0
Foydalanuvchi nomi = beeline
Parol = beeline
Bod = 9600
Mamlakat = Rossiya
Avtomatik qayta ulanish=yoqilgan
Avtomatik DNS = o'chirilgan
Kutish soniyalari = 0

Saqlash. Endi modem tizim yuklangandan so'ng darhol yoqiladi. Satr marshruti del default br0 ko'prik orqali standart marshrutni o'chiradi. Agar bu bajarilmasa, siz Internetga ulana olmaysiz, chunki trafik 3G modem orqali emas, balki ko'prik orqali o'tadi.

Aytishimiz kerak bo'lgan oxirgi qadam xavfsizlik devori, shuning uchun u bizning virtual mashinalarimizdan tarmoqqa va orqaga trafikni o'tkazadi. Buning uchun siz ikki yo'l bilan borishingiz mumkin: bir nechta qoidalar bilan skript yozing iptables, bu tizim bilan birga ishlaydi yoki ushbu qoidalarni qo'lda kiriting va ularni saqlang. Men birinchi variantdan foydalanaman. Ikkinchisi uchun paketni o'rnatishingiz kerak bo'ladi iptables-doimiy va oddiygina qoidalarni birma-bir kiriting (sudo yordamida). Shunday qilib. skript yaratish (har qanday matn muharririda). U erga quyidagi tarkibni joylashtiring:

#!/bin/sh

# Manzilni almashtirish (NAT) qo'llaniladigan chiqish interfeysini aniqlang
iptables -v -t nat -A POSTROUTING -o ppp0 -j MASQUERAD

# Biz global tarmoqdan (0.0.0.0/0) modem tomonidan qabul qilingan barcha paketlarni mahalliy tarmoqqa (192.168.0.0/24) yo'naltiramiz.
iptables -v -A FORWARD -i ppp0 -o br0 -s 0.0.0.0/0 -d 192.168.0.0/24 -j QABUL QILING

# Mahalliy tarmoqdan kelgan barcha paketlarni (192.168.0.0/24) global tarmoqqa (0.0.0.0/0) yo'naltiring
iptables -v -A FORWARD -i br0 -o ppp0 -s 192.168.0.0/24 -d 0.0.0.0/0 -j QABUL ET

Sifatida saqlang gateway.sh va bajarish huquqlarini bering (fayl xususiyatlarida yoki buyruq bilan terminalda chmod +x gateway.sh). Endi siz tizimni ishga tushirgandan so'ng uni qo'lda ishga tushirishingiz yoki uni ishga tushirishga qo'shishingiz mumkin. Buni amalga oshirish uchun skriptni o'tkazing ~/.config/autostart(fayl menejerida yashirin fayllarni ko'rsatishni yoqing va siz katalogni ko'rasiz .config uy katalogingizda).

Endi hamma narsa virtual mashinani o'rnatishga tayyor. Ilova menyusidan Virt Manager (virtual mashina menejeri) ni ishga tushiring:

Chiziqni o'ng tugmasini bosing localhost va tanlang Tafsilotlar. Yorliqga o'ting Saqlash. Virtual mashinalarni saqlash uchun katalogni (yoki disk qismini/diskni) belgilashimiz kerak.

Pastki chap burchakdagi ortiqcha belgisini bosing ( Hovuz qo'shing), saqlash turini va unga boradigan yo'lni ko'rsating.

Yorliqda Tarmoq interfeyslari, hamma narsa ishlayotganligini tekshirishingiz mumkin.

Endi bosamiz Fayl - Yangi virtual mashina. Disk tasviriga yo'lni va virtual mashina turini belgilang. Keyinchalik, biz uning uchun RAM miqdorini va protsessor yadrolari sonini ko'rsatamiz. Keyin, bizning xotiramizni ko'rsating va bosing Yangi jild. Ismni belgilang, turni qoldiring qcow2, va hajmi. Bu virtual qattiq disk bo'ladi. Agar siz grafik qobiq va bir qator dasturlarga ega tizimni o'rnatishni rejalashtirmoqchi bo'lsangiz, ko'proq joy bering (50 gigabayt). Oxirgi yorliqda katakchani belgilang Ishga tushirishdan oldin sozlamalarni o'zgartiring, bizning ko'prik tarmoq qurilmasi sifatida tanlanganligini tekshiring, virtual mashina uchun istalgan nomni yozing va bosing Bajarildi. Sizning oldingizda ushbu virtual mashina uchun parametrlar oynasi ochiladi.





Yorliqga o'ting Markaziy protsessor, va ustiga belgi qo'ying Xost protsessor sozlamalarini nusxalash.

Yorliq yonida Net(keyingi) va shuningdek, ko'rsating vitio. Yorliqda Displey iltimos ko'rsating Ziravorlar, va yorliqda Video - QXL. Odatda bu kombinatsiya maksimal grafik ishlashni ta'minlaydi, ammo agar xohlasangiz, tajriba qilishingiz mumkin. E'tibor bering, Windows mehmon tizimlari uchun QXL drayverini alohida o'rnatish talab qilinadi (Windows-ning o'zida).


Endi hamma narsa tayyor, yuqori chap burchakdagi tugmani bosing O'rnatishni boshlang. Va tizimni odatdagidek o'rnating, bitta istisnosiz: o'rnatuvchi tarmoqni avtomatik ravishda sozlashni boshlashi bilanoq, bosing. Bekor qilish, va tanlang Tarmoqni qo'lda sozlang. Virtual mashina uchun kerakli IP-manzilni belgilang (bizning holimizda 192.168.0.3 ), pastki tarmoq niqobi ( 255.255.255.0 ), shlyuz (shlyuz xost manzili bo'ladi, ya'ni 192.168.0.2 ) va DNS serveri (bu yerda faqat Google-ni ko'rsating 8.8.8.8 ). Va tamom. Boshqa hech narsa qilishning hojati yo'q. Tizimni o'rnating va uni sozlang. Umuman olganda, hammasi shu. Ta'riflangan qadamlar, masalan, VirtualBox-ni yaxshiroq muqobil bilan almashtirishning bir usuli. Hujjatlarni o'qib bo'lgach, siz Qemu-KVM imkoniyatlari qanchalik keng ekanligini tushunasiz. Men bu erda qo'shimcha konsol parametrlari va virtual mashinalarni terminal orqali ishga tushirish usullarini ataylab tasvirlab bermadim, chunki bu uy mashinasida har doim ham kerak emas. Men bu haqda, ko'p funktsiyali uy serverini o'rnatish haqida alohida maqola yozaman (u virtual mashina serveri sifatida ham ishlaydi). Ba'zi sabablarga ko'ra nima yozilganini tushunmagan yoki hali ham tushunarsiz daqiqalar mavjud bo'lganlar uchun men videoni tomosha qilishni taklif qilaman, unda men tasvirlamayman, lekin bularning barchasini qanday o'rnatish va sozlashni ko'rsataman. Maqola bo'yicha takliflaringiz yoki qo'shimchalaringiz bo'lsa, sharhlarda yozing.

WordPress 5.3-ning chiqarilishi WordPress 5.0-da taqdim etilgan blok muharririni yangi blok, yanada intuitiv shovqin va yaxshilangan foydalanish imkoniyati bilan yaxshilaydi va kengaytiradi. Muharrirdagi yangi xususiyatlar […]

To'qqiz oylik ishlab chiqishdan so'ng FFmpeg 4.2 multimedia to'plami mavjud bo'lib, u turli multimedia formatlarida (yozuv, konvertatsiya qilish va [...]) operatsiyalar uchun ilovalar to'plami va kutubxonalar to'plamini o'z ichiga oladi

  • Linux Mint 19.2 Cinnamon-dagi yangi xususiyatlar

    Linux Mint 19.2 uzoq muddatli qo'llab-quvvatlash versiyasi bo'lib, 2023 yilgacha qo'llab-quvvatlanadi. U yangilangan dasturiy ta'minot bilan birga keladi va yaxshilanishlar va ko'plab yangi [...]

  • Linux Mint 19.2 tarqatish chiqarildi

    Ubuntu 18.04 LTS paketi bazasida yaratilgan va 2023 yilgacha qoʻllab-quvvatlanadigan Linux Mint 19.x filialining ikkinchi yangilanishi boʻlgan Linux Mint 19.2 distributivining chiqarilishi taqdim etiladi. Tarqatish to'liq mos keladi [...]

  • Yangi BIND xizmati relizlari mavjud bo'lib, ularda xatoliklar tuzatilgan va xususiyatlar yaxshilangan. Yangi nashrlarni ishlab chiquvchining veb-saytidagi yuklab olishlar sahifasidan yuklab olish mumkin: [...]

    Exim - Internetga ulangan Unix tizimlarida foydalanish uchun Kembrij universitetida ishlab chiqilgan xabarlarni uzatish agenti (MTA). [...] ga muvofiq bepul mavjud.

    Deyarli ikki yillik rivojlanishdan so'ng, Linux yadrosi uchun modul sifatida ishlab chiqilgan ZFS fayl tizimining ilovasi bo'lgan Linux 0.8.0-da ZFS-ning chiqarilishi taqdim etildi. Modul Linux yadrolari bilan 2.6.32 dan [...]

  • WordPress 5.1.1 saytingizni nazorat qilish imkonini beruvchi zaiflikni tuzatadi
  • Internet protokollari va arxitekturasini ishlab chiqaruvchi IETF (Internet Engineering Task Force) ACME (Automatic Certificate Management Environment) protokoli uchun RFC ni yakunladi [...]

    Jamiyat tomonidan boshqariladigan va sertifikatlarni hammaga bepul taqdim etuvchi Let’s Encrypt notijorat sertifikatlashtirish organi o‘tgan yil yakunlarini sarhisob qildi va 2019 yilgi rejalar haqida gapirdi. […]

  • Libreoffice-ning yangi versiyasi chiqdi - Libreoffice 6.2
  • Gipervisor yordami tekshirilmoqda

    Biz server virtualizatsiya texnologiyalarini qo'llab-quvvatlashini tekshiramiz:

    cat /proc/cpuinfo | egrep "(vmx|svm)"

    Bunga javoban shunday bir narsa olishingiz kerak:

    bayroqlar: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp pe mce cx8 non repetitori rdtscp lmod_ no repost_ _tsc aperf mperf pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 cx16 xtpr pdcm pcid dca sse4_1 sse4_2 popcnt aes lahf_lm epb tpr_shadow vnmi flexpriority ept vpid dtherm ida arat

    Aks holda, BIOS-ga o'ting, virtualizatsiya texnologiyasini yoqish variantini toping (turli nomlarga ega, masalan, Intel Virtualization Technology yoki Virtualization) va uni yoqing - qiymatni o'rnating. Yoqish.

    Bundan tashqari, buyruq bilan muvofiqlikni tekshirishingiz mumkin:

    * agar buyruq xatolik qaytarsa "kvm-ok buyrug'i topilmadi", tegishli paketni o'rnating: apt-get o'rnatish protsessor tekshiruvi.

    Agar biz ko'rsak:

    MA'LUMOT: /dev/kvm mavjud
    KVM tezlashuvidan foydalanish mumkin

    Bu apparat ta'minoti mavjudligini anglatadi.

    Serverni tayyorlash

    Bizning qulayligimiz uchun biz KVM uchun ma'lumotlarni saqlaydigan katalog yaratamiz:

    mkdir -p /kvm/(vhdd,iso)

    * ikkita katalog yaratiladi: /kvm/vhdd(virtual qattiq disklar uchun) va /kvm/iso(iso tasvirlar uchun).

    Keling, vaqtni belgilaymiz:

    \cp /usr/share/zoneinfo/Europe/Moscow /etc/localtime

    * bu buyruq zonani Moskva vaqtiga muvofiq belgilaydi.

    ntpdate ru.pool.ntp.org

    * Biz vaqt serveri bilan sinxronlashamiz.

    O'rnatish va ishga tushirish

    Biz KVM va kerakli boshqaruv yordamchi dasturlarini o'rnatamiz.

    a) Ubuntu 18.10 versiyasigacha

    apt-get install qemu-kvm libvirt-bin virtinst libosinfo-bin

    b) Ubuntu 18.10 dan keyin:

    apt-get install qemu-kvm libvirt-daemon-system libvirt-bin virtinst libosinfo-bin

    * Qayerda qemu-kvm- gipervizor; libvirt-bin— gipervizor boshqaruv kutubxonasi; bokira— virtual mashinani boshqarish yordam dasturi; libosinfo-bin— mehmon operatsion tizimlari sifatida foydalanish mumkin bo'lgan operatsion tizim variantlari ro'yxatini ko'rish uchun yordamchi dastur.

    Keling, xizmatni avtomatik ishga tushirish uchun sozlaylik:

    systemctl libvirtd-ni yoqing

    libvirtd ni ishga tushiramiz:

    systemctl start libvirtd

    Tarmoq konfiguratsiyasi

    Virtual mashinalar NAT (bu KVM serveri) orqasida ishlashi yoki mahalliy tarmoqdan IP manzillarini olishi mumkin - buning uchun siz tarmoq ko'prigini sozlashingiz kerak. Biz ikkinchisini sozlaymiz.

    Masofaviy ulanishdan foydalanayotganda sozlamalaringizni diqqat bilan tekshiring. Agar xatolik yuzaga kelsa, ulanish to'xtatiladi.

    Bridge-utils-ni o'rnating:

    apt-get install bridge-utils

    a) Ubuntu ning eski versiyalarida tarmoqni sozlash (/etc/network/interfaces).

    Tarmoq interfeyslarini sozlash uchun konfiguratsiya faylini oching:

    vi /etc/network/interfaces

    Va keling, uni ushbu shaklga keltiramiz:

    #iface eth0 inet statik
    # manzil 192.168.1.24
    # tarmoq niqobi 255.255.255.0
    #shlyuz 192.168.1.1
    # dns-nom serverlari 192.168.1.1 192.168.1.2

    Avtomatik br0
    iface br0 inet statik
    manzil 192.168.1.24
    tarmoq niqobi 255.255.255.0
    shlyuz 192.168.1.1
    dns-nom serverlari 192.168.1.1 192.168.1.2
    bridge_ports eth0
    bridge_fd 9
    bridge_salom 2
    bridge_maxage 12
    bridge_stp o'chirilgan

    * bu erda sharhlangan hamma narsa mening tarmog'imning eski sozlamalari; br0— yaratilgan ko‘prik interfeysining nomi; et0— ko'prik ishlaydigan mavjud tarmoq interfeysi.

    Tarmoq xizmatini qayta ishga tushiring:

    systemctl tarmoqni qayta ishga tushiring

    b) Ubuntu ning yangi versiyalarida tarmoqni o'rnatish (netplan).

    vi /etc/netplan/01-netcfg.yaml

    * tizim versiyasiga, konfiguratsiya fayliga qarab yaml boshqa nomga ega bo'lishi mumkin.

    Keling, uni shaklga keltiramiz:

    tarmoq:
    versiya: 2
    renderer: tarmoqqa ulangan
    Ethernetlar:
    eth0:
    dhcp4: noto'g'ri
    dhcp6: noto'g'ri
    wakeonlan: rost

    Ko'priklar:
    br0:
    macaddress: 2c:6d:45:c3:55:a7
    interfeyslar:
    -eth0
    manzillar:
    - 192.168.1.24/24
    shlyuz4: 192.168.1.1
    mtu: 1500
    nom serverlari:
    manzillar:
    - 192.168.1.1
    - 192.168.1.2
    parametrlar:
    stp: rost
    oldinga kechikish: 4
    dhcp4: noto'g'ri
    dhcp6: noto'g'ri

    * Ushbu misolda biz virtual ko'prik interfeysini yaratmoqdamiz br0; biz jismoniy interfeys sifatida foydalanamiz et0.

    Tarmoq sozlamalarini qo'llash:

    Biz tarmoq trafigini qayta yo'naltirishni talab qilamiz (shunda NAT tarmoq interfeysiga ega virtual mashinalar Internetga kirishi mumkin):

    vi /etc/sysctl.d/99-sysctl.conf

    qatorni qo'shing:

    net.ipv4.ip_forward=1

    Sozlamalarni qo'llang:

    sysctl -p /etc/sysctl.d/99-sysctl.conf

    Virtual mashina yaratish

    Birinchi virtual mashinani yaratish uchun quyidagi buyruqni kiriting:

    virt-install -n VM1\
    --avtomatik ishga tushirish\
    --noautoconsole\
    --tarmoq = ko'prik: br0 \
    --ram 2048 --arch=x86_64 \
    --vcpus=2 --cpu xost --check-cpu \
    --disk yo'li=/kvm/vhdd/VM1-disk1.img,size=16 \
    --cdrom /kvm/iso/ubuntu-18.04.3-server-amd64.iso \
    --graphics vnc, listen=0.0.0.0,password=vnc_password \
    --os-type linux --os-variant=ubuntu18.04 --boot cdrom,hd,menu=on

    • VM1 - yaratilayotgan mashinaning nomi;
    • avtomatik ishga tushirish - virtual mashinani KVM serveri bilan birga avtomatik ravishda ishga tushirishga ruxsat berish;
    • noautoconsole - virtual mashina konsoliga ulanmaydi;
    • tarmoq - tarmoq turi. Ushbu misolda biz "tarmoq ko'prigi" interfeysi bilan virtual mashina yaratmoqdamiz. NAT turi bilan ichki interfeys yaratish uchun kiriting --tarmoq = standart, model = virtio;
    • Ram - RAM miqdori;
    • vcpus - virtual protsessorlar soni;
    • disk - virtual disk: yo'l - diskka yo'l; hajmi - uning hajmi;
    • CD-ROM - tizim tasviriga ega virtual disk;
    • grafika grafik konsol yordamida virtual mashinaga ulanish parametrlari (ushbu misolda biz vnc dan foydalanamiz); tinglash - vnc so'rovlari qaysi manzilda qabul qilinadi (bizning misolimizda hammasi); parol - vnc yordamida ulanish uchun parol;
    • os-variant - mehmon operatsion tizimi (biz butun ro'yxatni buyruq bilan oldik osinfo-query OS, bu misolda biz Ubuntu 18.04 ni o'rnatamiz).

    Virtual mashinaga ulanish

    Biz virtual mashinalar bilan ishlashni rejalashtirgan kompyuterda VNC mijozini yuklab oling, masalan, TightVNC va uni o'rnating.

    Serverda biz kiritamiz:

    virsh vncdisplay VM1

    buyruq VM1 mashinasi uchun VNC qaysi portda ishlayotganligini ko'rsatadi. Menda bor edi:

    * :1 5900 - 5900 + 1 = 5901 ga 1 qo'shish kerakligini anglatadi.

    Biz o'rnatgan TightVNC Viewer dasturini ishga tushiring va ulanish ma'lumotlarini kiriting:

    ni bosing Ulanmoq. Parol so'ralganda, VM yaratishda ko'rsatilgan parolni kiriting ( vnc_password). Masofaviy konsol yordamida virtual mashinaga ulanamiz.

    Agar parolni eslay olmasak, virtual mashina sozlamalarini buyruq bilan ochamiz:

    Va biz chiziqni topamiz:



    * bu misolda virtual mashinaga kirish uchun parol ishlatiladi 12345678 .

    Virtual mashinani buyruq satridan boshqarish

    Virtual mashinalar bilan ishlashda foydali bo'lishi mumkin bo'lgan buyruqlar misollari.

    1. Yaratilgan mashinalar roʻyxatini oling:

    virsh ro'yxati --hammasi

    2. Virtual mashinani yoqing:

    VM nomini ishga tushiring

    * Qayerda VM nomi— yaratilgan mashinaning nomi.

    3. Virtual mashinani o'chirib qo'ying:

    ubuntu-vm-builder - bu yangi virtual mashinalarni yaratishni osonlashtirish uchun Canonical tomonidan ishlab chiqilgan paket.

    Uni o'rnatish uchun quyidagilarni kiriting:

    apt-get o'rnatish ubuntu-vm-Builder