QEMU арқылы IP-KVM

QEMU арқылы IP-KVM

KVM жоқ серверлерде операциялық жүйені жүктеу ақаулықтарын жою оңай жұмыс емес. Біз қалпына келтіру кескіні және виртуалды машина арқылы өзіміз үшін KVM-over-IP жасаймыз.

Операциялық жүйемен проблемалар туындаған жағдайда қашықтағы серверде, әкімші қалпына келтіру кескінін жүктеп алып, қажетті жұмысты орындайды. Бұл әдіс ақаулықтың себебі белгілі болғанда және қалпына келтіру кескіні мен серверде орнатылған операциялық жүйе бір отбасынан болған кезде жақсы жұмыс істейді. Ақаулықтың себебі әлі белгісіз болса, операциялық жүйені жүктеу барысын бақылау керек.

Қашықтағы KVM

Сервер консоліне IPMI немесе Intel® vPro™ сияқты кірістірілген құралдарды немесе IP-KVM деп аталатын сыртқы құрылғылар арқылы кіруге болады. Барлық аталған технологиялар қол жетімді емес жағдайлар бар. Дегенмен, бұл соңы емес. Егер серверді Linux операциялық жүйесіне негізделген қалпына келтіру кескініне қашықтан қайта жүктеуге болатын болса, KVM-over-IP-ді жылдам ұйымдастыруға болады.

Қалпына келтіру кескіні жедел жадта орналасқан толыққанды операциялық жүйе болып табылады. Осылайша, біз кез келген бағдарламалық жасақтаманы, соның ішінде виртуалды машиналарды (VM) іске қоса аламыз. Яғни, сервер операциялық жүйесі іске қосылатын виртуалды компьютерді іске қосуға болады. VM консоліне кіруді, мысалы, VNC арқылы ұйымдастыруға болады.

VM ішінде сервердің операциялық жүйесін іске қосу үшін сервер дискілерін VM дискілері ретінде көрсету керек. Linux отбасының операциялық жүйелерінде физикалық дискілер пішіннің блоктық құрылғыларымен ұсынылған / dev / sdX, олармен кәдімгі файлдар сияқты жұмыс істеуге болады.

QEMU және VirtualBox сияқты кейбір гипервизорлар VM деректерін «шикі» пішінде сақтауға мүмкіндік береді, яғни гипервизор метадеректерінсіз тек сақтау деректері. Осылайша, виртуалды компьютерді сервердің физикалық дискілері арқылы іске қосуға болады.

Бұл әдіс қалпына келтіру кескінін және оның ішіндегі виртуалды компьютерді іске қосу үшін ресурстарды қажет етеді. Дегенмен, егер сізде төрт немесе одан да көп гигабайт жедел жады болса, бұл мәселе болмайды.

Қоршаған ортаны дайындау

Сіз виртуалды машина ретінде жеңіл және қарапайым бағдарламаны пайдалана аласыз QEMU, ол көбінесе қалпына келтіру кескінінің бөлігі болып табылмайды және сондықтан бөлек орнатылуы керек. Клиенттерге ұсынатын қалпына келтіру кескіні негізделген Arch Linux, ол бума менеджерін пайдаланады Pacman.

Ең алдымен, қалпына келтіру кескіні соңғы бағдарламалық құралды пайдаланып жатқанына көз жеткізу керек. Барлық ОЖ құрамдастарын келесі пәрмен арқылы тексеруге және жаңартуға болады:

pacman -Suy

Жаңартудан кейін QEMU орнату қажет. Pacman арқылы орнату пәрмені келесідей болады:

pacman -S qemu

Qemu дұрыс орнатылғанын тексерейік:

root@sel-rescue ~ # qemu-system-x86_64 --version
QEMU emulator version 4.0.0
Copyright (c) 2003-2019 Fabrice Bellard and the QEMU Project developers

Егер бәрі солай болса, қалпына келтіру кескіні пайдалануға дайын.

Виртуалды машинаны іске қосу

Біріншіден, VM-ге бөлінген ресурстардың көлемін шешу керек және физикалық дискілерге жолдарды табу керек. Біздің жағдайда виртуалды машинаға екі ядро ​​мен екі гигабайт жедел жад бөлеміз, ал дискілер жол бойында орналасқан. / dev / sda и / dev / sdb. VM-ді бастайық:

qemu-system-x86_64
-m 2048M
-net nic -net user
-enable-kvm
-cpu host,nx
-M pc
-smp 2
-vga std
-drive file=/dev/sda,format=raw,index=0,media=disk
-drive file=/dev/sdb,format=raw,index=1,media=disk
-vnc :0,password
-monitor stdio

Параметрлердің әрқайсысы нені білдіретіні туралы толығырақ:

  • -м 2048М — VM-ге 2 ГБ жедел жады бөлу;
  • -net nic -net user — NAT (Network Address Translation) көмегімен гипервизор арқылы желіге қарапайым қосылымды қосу;
  • -enable-kvm — толық KVM (Kernel Virtual Machine) виртуализациясын қосу;
  • - CPU хосты — виртуалды процессорға сервер процессорының барлық функционалдығын алуды айтамыз;
  • -М ДК — ДК жабдықтарының түрі;
  • -smp 2 — виртуалды процессор екі ядролы болуы керек;
  • -vga std — үлкен экран ажыратымдылығын қолдамайтын стандартты видеокартаны таңдаңыз;
  • -диск файлы=/dev/sda, формат=шикі, индекс=0, медиа=диск
    • файл=/dev/sdX — сервер дискісін көрсететін блоктық құрылғыға жол;
    • пішім=шикі — көрсетілген файлда барлық деректер «шикі» түрінде, яғни дискідегідей екенін ескереміз;
    • индекс = 0 — диск нөмірі, әрбір келесі диск үшін біреуге көбеюі керек;
    • медиа=диск — виртуалды машина бұл жадты диск ретінде тануы керек;
  • -vnc :0, құпия сөз — VNC серверін әдепкі бойынша 0.0.0.0:5900 іске қосыңыз, авторизация ретінде құпия сөзді пайдаланыңыз;
  • - монитор студиясы — әкімші мен qemu арасындағы байланыс стандартты енгізу/шығару ағындары арқылы жүзеге асады.

Егер бәрі дұрыс болса, QEMU мониторы іске қосылады:

QEMU 4.0.0 monitor - type 'help' for more information
(qemu)

Біз авторизацияның құпия сөзді қолдану арқылы жүзеге асырылатынын көрсеттік, бірақ құпия сөздің өзін көрсетпедік. Мұны QEMU мониторына vnc құпия сөзін өзгерту пәрменін жіберу арқылы жасауға болады. Маңызды ескерту: Құпия сөз сегіз таңбадан аспауы керек.

(qemu) change vnc password
Password: ******

Осыдан кейін біз кез келген VNC клиентімен, мысалы, Remmina, серверіміздің IP мекенжайын біз көрсеткен құпия сөзбен байланыстыра аламыз.

QEMU арқылы IP-KVM

QEMU арқылы IP-KVM

Енді біз жүктеу сатысында мүмкін болатын қателерді көріп қана қоймай, олармен де күресе аламыз.

Аяқтаған кезде виртуалды машинаны өшіру керек. Мұны операциялық жүйе ішінде өшіру сигналын жіберу арқылы немесе пәрмен беру арқылы жасауға болады жүйені_өшіру QEMU мониторында. Бұл өшіру түймесін бір рет басумен бірдей болады: виртуалды машинаның ішіндегі операциялық жүйе бірқалыпты өшеді.

Операциялық жүйені орнату

Виртуалды машинаның сервер дискілеріне толық рұқсаты бар, сондықтан операциялық жүйені қолмен орнату үшін пайдалануға болады. Жалғыз шектеу - ЖЖҚ көлемі: ISO кескінін әрқашан жедел жадқа орналастыру мүмкін емес. Кескінді сақтау үшін төрт гигабайт жедел жад бөлейік / mnt:

mount -t tmpfs -o size=4G tmpfs /mnt

Біз FreeBSD 12.0 операциялық жүйесінің орнату кескінін де жүктеп аламыз:

wget -P /mnt ftp://ftp.freebsd.org/pub/FreeBSD/releases/amd64/amd64/ISO-IMAGES/12.0/FreeBSD-12.0-RELEASE-amd64-bootonly.iso

Енді VM іске қосуға болады:

qemu-system-x86_64
-m 2048M
-net nic -net user
-enable-kvm
-cpu host,nx
-M pc
-smp 2
-vga std
-drive file=/dev/sda,format=raw,index=0,media=disk
-drive file=/dev/sdb,format=raw,index=1,media=disk
-vnc :0,password
-monitor stdio
-cdrom /mnt/FreeBSD-12.0-RELEASE-amd64-bootonly.iso
-boot d

Ту -жүктеу d ықшам дискіден жүктеуді орнатады. Біз VNC клиентімен қосылып, FreeBSD жүктеушісін көреміз.

QEMU арқылы IP-KVM

DHCP арқылы мекенжайды алу Интернетке кіру үшін пайдаланылғандықтан, конфигурациядан кейін жаңадан орнатылған жүйеге жүктеу және желі параметрлерін түзету қажет болуы мүмкін. Кейбір жағдайларда желілік адаптер драйверлерін орнату қажет болуы мүмкін, себебі серверде орнатылған желілік карта мен VM-де эмуляцияланған карта әртүрлі.

қорытынды

Сервер консоліне қашықтан қол жеткізуді ұйымдастырудың бұл әдісі сервер ресурстарының бір бөлігін тұтынады, дегенмен ол сервердің аппараттық құралдарына ешқандай арнайы талаптар қоймайды, сондықтан кез келген дерлік жағдайларда жүзеге асырылуы мүмкін. Бұл шешімді пайдалану бағдарламалық құрал ақауларын диагностикалауды және қашықтағы сервердің функционалдығын қалпына келтіруді айтарлықтай жеңілдетеді.

Ақпарат көзі: www.habr.com

пікір қалдыру