Журнал LinuxFormat - перейти на главную

LXF168:Вир­туа­ли­за­ция. Спа­сем и со­храним

Материал из Linuxformat
Версия от 21:02, 10 ноября 2018; Olkol (обсуждение | вклад)

(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к: навигация, поиск

Вир­туа­ли­за­ция. Со­хра­ни­те дос­туп к важ­ным ста­рым фай­лам на но­вой ма­ши­не

Вир­туа­ли­зи­руй­те свою ма­ши­ну

Дэ­вид Хей­вард по­ка­зы­ва­ет, как вос­кре­сить дух ста­ро­го ком­пь­ю­те­ра с Linux, за­пус­тив его вир­ту­аль­ный об­раз на но­вом ком­пь­ю­те­ре.

(thumbnail)
Наш эксперт Дэ­вид Хей­вард Аль­пи­нист, фех­то­валь­щик и пи­са­тель-ро­ма­нист. Из­вес­тен также как лю­би­тель при­врать о сво­их дос­ти­же­ни­ях.

Вир­туа­ли­за­ция уже несколь­ко лет яв­ля­ет­ся дру­гом ад­минист­ра­то­ра сер­вер­ной, так как пре­иму­ществ у нее мас­са. С по­яв­лением все бо­лее и бо­лее мощ­ных ком­пь­ю­те­ров те по­лу­бо­ги, ко­то­рые управ­ля­ют сер­ве­ра­ми ор­ганиза­ций по все­му ми­ру, об­на­ру­жи­ли, что ес­ли вир­туа­ли­зи­ро­вать некогда ог­ром­но­го зве­ря в уг­лу кон­ди­ционируе­мой ком­на­ты, это по­зво­лит сэ­ко­но­мить ме­сто и по­стро­ить бо­лее эф­фек­тив­ную мо­дель управ­ления сер­ве­ром.

Но вир­туа­ли­за­ция под си­лу не одним оби­та­те­лям Олим­па – мы то­же мо­жем на­сла­дить­ся пре­иму­ще­ст­ва­ми вир­туа­ли­за­ции фи­зи­че­­ско­­го ПК. В на­шем слу­чае мы мо­жем за­хо­теть из­ба­вить­ся от ста­ро­го ком­пь­ю­те­ра, ко­то­рый вклю­ча­ет­ся лишь вре­мя от вре­мени, но все еще ну­жен нам из-за ка­ких-то древних про­грамм, ко­то­рые боль­ше нигде не ра­бо­та­ют.

Ме­сто мы то­же хо­тим сэ­ко­но­мить – этот ком­пь­ю­тер, как бы мы его ни лю­би­ли, ужас­но мно­го его занима­ет. За то, что мы его убе­рем, суп­ру­ги нас за­ува­жа­ют.

И в са­мом де­ле, хо­тя мы мо­жем ку­пить се­бе бо­лее мощ­ный ком­пь­ю­тер, с вир­туа­ли­за­ци­ей нам не при­дет­ся унич­то­жать «дух» ста­ро­го ком­пь­ю­те­ра, а под ду­хом мы име­ем в ви­ду то, что хо­тя са­мо «же­ле­зо» на­всегда от­пра­вит­ся на свал­ку, опе­ра­ци­он­ная сис­те­ма, при­ло­жения, на­строй­ки и все про­грам­мы про­дол­жат свою жизнь в вир­ту­аль­ной сре­де.

Сде­лать это на удив­ление про­сто – с по­мо­щью несколь­ких команд мы соз­да­дим об­раз ста­ро­го ком­пь­ю­те­ра и пре­об­ра­зуем его в вир­ту­аль­ную ма­ши­ну. Од­на­ко, как и с боль­шин­ст­вом за­дач в Linux и в ком­пь­ю­те­рах в це­лом, есть несколь­ко спо­со­бов до­бить­ся це­ли. Ме­тод, ко­то­рый мы здесь рас­смот­рим – лишь один из мно­гих, но так­же один из са­мых про­стых и наи­бо­лее эф­фек­тив­ных; к то­му же в нем ис­поль­зу­ют­ся встро­ен­ные ко­ман­ды Linux, а о ра­бо­те сис­те­мы нуж­но знать со­всем немно­го. Ес­ли вы в це­лом пред­став­ляе­те, как ра­бо­та­ет тер­ми­на­л и как в Linux иден­ти­фи­ци­ру­ют­ся дис­ки, под­клю­чае­мые к сис­те­ме, то у вас все по­лу­чит­ся.

На­чи­на­ем

По на­ше­му сце­на­рию, ком­пь­ю­те­ров два: на од­ном – Linux Mint 13, на дру­гом – Ubuntu 12.04. Ком­пь­ю­тер с Ubuntu PC немно­го но­вее, и на нем до­воль­но мно­го опе­ра­тив­ной па­мя­ти, а имен­но 8 ГБ, а на ком­пь­ю­те­ре с Mint все­го 1 ГБ. На­зо­вем ком­пь­ю­тер с Mint 13 ПК1, а с Ubuntu 12.04 – ПК2. На­ша за­да­ча – соз­дать об­раз ПК1 и за­пустить его в вир­ту­аль­ной сре­де на ПК2. Зву­чит до­воль­но про­сто, не прав­да ли?

Как мы уже го­во­ри­ли, сде­лать это мож­но раз­ны­ми спо­со­ба­ми. Мы возь­мем внешний USB-диск раз­ме­ром 500 ГБ и под­клю­чим его к ПК1. За­тем соз­да­дим об­раз ПК1 и со­храним его в фай­ле на USB-дис­ке для пе­ре­да­чи на ПК2. Впро­чем, вы мо­же­те про­сто от­клю­чить внут­ренний же­ст­кий диск со сво­его ПК1, под­клю­чить его к ПК2 и за­пустить ко­ман­ду на од­ном ком­пь­ю­те­ре, вме­сто то­го, что­бы пе­ре­но­сить об­раз ме­ж­ду дву­мя. Ка­ж­дый из ме­то­дов пол­но­стью нам под­хо­дит, хо­тя, ес­ли че­ст­но, уста­нов­ка же­ст­ко­го дис­ка ПК1 на ПК2 рез­ко все уско­ри­ла бы; но сей­час мы не то­ро­пим­ся.

Под­го­тов­ка ПК1

Сле­дую­щий этап – най­ти за­гру­зоч­ную ко­пию ди­ст­ри­бу­ти­ва Linux. По­дой­дет лю­бой: вот у нас на флэш­ке есть ко­пия Ubuntu 12.04. За­гру­зи­тесь с уста­но­воч­но­го дис­ка и под­клю­чи­те внешний же­ст­кий диск, за­тем за­пусти­те сле­дую­щую ко­ман­ду, с це­лью ра­зо­брать­ся в име­но­вании съем­ных дис­ков:

lsblk

и на­жми­те Enter.

Вы­ве­дет­ся спи­сок всех блоч­ных уст­ройств (же­ст­ких дис­ков) в сис­те­ме, вклю­чая раз­де­лы для ка­ж­до­го дис­ка. В на­шем слу­чае, как по­ка­за­но на рис. 1, у нас есть же­ст­кий диск объ­е­мом 232,9 ГБ с именем sda, о трех раз­де­лах, и внешний USB-диск sdc с одним раз­де­лом вме­сте с уста­нов­кой Ubuntu. За­пустив ко­ман­ду

sudo fdisk -l

мы по­лу­чим под­роб­ную схе­му имен уст­ройств и раз­де­лов. Но раз мы соз­да­ем об­раз все­го же­ст­ко­го дис­ка, нам нуж­ны толь­ко имя уст­рой­ст­ва дис­ка, будь то hda или sda, и имя под­клю­чен­но­го внешнего дис­ка, hdb или sdb. На на­ших тес­то­вых ком­пь­ю­те­рах, как по­ка­за­но на рис. 2, же­ст­кий диск, об­раз ко­то­ро­го мы де­ла­ем – sda, а внешний же­ст­кий диск, на ко­то­рый за­пи­шем об­раз – sdc.

На­ря­ду с именем уст­рой­ст­ва, ко­ман­да lsblk так­же ото­бра­зит точ­ку мон­ти­ро­вания, на ко­то­рой (или в ко­то­рой) смон­ти­ро­ван внешний диск. На рис. 2 мы ви­дим, что у един­ст­вен­но­го раз­де­ла на внешнем дис­ке sdc точ­ка мон­ти­ро­вания /media/2C8069CF80699FD6. Этот путь нам при­го­дит­ся в сле­дую­щем раз­де­ле, когда мы пе­рей­дем к за­пуску ко­ман­ды соз­дания об­раза.

Во­об­ще го­во­ря, сто­ит так­же от­ме­тить, что sda – это глав­ный же­ст­кий диск ком­пь­ю­те­ра, а sdb, sdc и т. д. – осталь­ные фи­зи­че­­ские дис­ки. С дру­гой сто­ро­ны, hda ис­поль­зу­ет­ся для бо­лее ста­рых уст­ройств IDE, но прин­цип име­но­вания hdb, hdc и т. д. остается все тем же. Мы поль­зу­ем­ся уста­но­воч­ным дис­ком для то­го, что­бы опе­ра­ци­он­ная сис­те­ма на ПК1 не ис­поль­зо­ва­лась и, сле­до­ва­тель­но, все фай­лы, за­бло­ки­ро­ван­ные во вре­мя обыч­ной ра­бо­ты ОС, бы­ли доступ­ны для соз­дания об­раза. Об­раз, кста­ти, вполне мож­но сде­лать и с ра­бо­таю­щей сис­темы хоста (ПК2), но в подобных слу­чаях поль­зо­вание уста­но­воч­­ным дис­ком ре­ко­мен­ду­ет­ся как правильный подход.

На­чи­на­ем соз­да­вать об­раз ПК

Уз­нав, ко­то­рый диск ка­кой, по­ра пе­рей­ти соб­ст­вен­но к соз­данию об­раза. Для это­го мы восполь­зу­ем­ся рас­про­странен­ной и неко­то­ры­ми ред­ко при­ме­няе­мой ко­ман­дой dd. dd – ко­ман­да очень мощ­ная, и спо­соб­на как на все­воз­мож­ные вол­шеб­ные пре­об­ра­зо­вания и ко­пи­ро­вание дан­ных, так и на за­ти­рание все­го дис­ка; будь­те осто­рож­ны, поль­зу­ясь ею вне на­ше­го уро­ка!

Пре­ж­де чем за­нять­ся об­ра­зом дис­ка, соз­да­дим на внешнем дис­ке ка­та­лог с креа­тив­ным на­званием backup. Сю­да мы за­пи­шем файл с об­ра­зом.

По­сле это­го мож­но на­чать соз­да­вать об­раз ПК1, за­пустив в тер­ми­на­ле ко­ман­ду:

sudo dd if=/dev/sda of=/media/2C8069CF80699FD6/backup/mint.img bs=1M

На­жми­те Enter и вве­ди­те свой па­роль ад­минист­ра­то­ра для за­пуска ко­ман­ды. Здесь мы про­сим сис­те­му соз­дать об­раз /dev/sda, же­ст­ко­го дис­ка ПК1, и ско­пи­ро­вать его в файл mint.img в ка­та­логе backup в точ­ке мон­ти­ро­вания /media/2C8069CF80699FD6/, ко­то­рая, как мы вы­яснили, на­хо­дит­ся на внешнем дис­ке sdc. При­ве­сок bs=1M оз­на­ча­ет ко­ли­че­­ст­во байт, ко­то­рые счи­ты­ва­ют­ся, за­пи­сы­ва­ют­ся и кон­вер­ти­ру­ют­ся за один шаг.

Зна­чение 1M зна­чи­тель­но уве­ли­чит про­из­во­ди­тель­ность при за­пи­си; дру­ги­ми сло­ва­ми, это зай­мет мень­ше вре­мени, но по­тре­бу­ет го­раз­до боль­ше па­мя­ти. Так как за­да­ча ПК1 – толь­ко за­пустить уста­но­воч­ный диск, зна­чения 1M с него хва­тит.

Как вы ви­ди­те на рис. 3, про­цесс соз­дания об­раза на­чи­на­ет­ся с за­пи­си со­дер­жи­мо­го sda в файл mint.img. Уч­ти­те, что хо­тя мы и до­ба­ви­ли па­ра­метр 1M, про­цесс по­тре­бу­ет вре­мени, в за­ви­си­мо­сти от раз­ме­ра дис­ка, и при­го­товь­тесь ждать ре­зуль­та­тов до несколь­ких ча­сов.

Од­на­ж­ды мы ре­ши­ли соз­дать об­раз дис­ка в 2 ТБ, обой­дясь без до­полнитель­ных клю­чей, и на это уш­ло 15 ча­сов. Мы бы­ли не в востор­ге, но, как го­во­рит­ся, век жи­ви – век учись.

Когда про­цесс соз­дания об­раза за­кон­чит­ся и у вас бу­дут ре­зуль­та­ты ра­бо­ты про­цес­са dd, от­клю­чи­те внешний диск и вы­клю­чи­те ПК1 – его ра­бо­та по­ка за­кон­че­на.

Те­перь под­клю­чи­те внешний диск с фай­лом об­раза к ПК2 и уста­но­ви­те VirtualBox и QEMU, ес­ли еще не сде­ла­ли это­го; оба най­дут­ся че­рез менед­же­ры па­ке­тов боль­шин­ст­ва ди­ст­ри­бу­ти­вов Linux.

Ес­ли не по­лу­ча­ет­ся най­ти QEMU, по­ищи­те AQEMU, это гра­фи­че­­ский ин­тер­фейс на Qt4 для управ­ления вир­ту­аль­ны­ми ма­ши­на­ми QEMU и KVM.

Сле­дую­щий этап мож­но вы­полнить по-раз­но­му. Мож­но скон­вер­ти­ро­вать файл об­раза в вир­ту­аль­ный диск VirtualBox и поль­зо­вать­ся им в са­мом VirtualBox, а мож­но за­пустить этот файл в QEMU.

Спо­соб 1

Сна­ча­ла скон­вер­ти­ру­ем об­раз ПК 1 в фор­мат, ко­то­рый мо­жет чи­тать и понимать VirtualBox, по­это­му спер­ва ско­пи­ру­ем све­же­соз­дан­ный об­раз mint.img на ПК2. Конеч­но, мож­но бы­ло бы ра­бо­тать пря­мо с внешнего же­ст­ко­го дис­ка, но с локаль­ных дис­ков ПК2 все бу­дет ра­бо­тать го­раз­до на­дежнее.

Когда файл об­раза ско­пи­ру­ет­ся, зай­ди­те в тер­ми­нал и на­бе­рите сле­дую­щую ко­ман­ду для пре­об­ра­зо­вания фай­ла mint.img в VDI-файл для VirtualBox:

vboxmanage convertfromraw mint.img –format VDI mint.vdi

На­жми­те Enter, и VirtualBox при­мет­ся кон­вер­ти­ро­вать об­раз mint.img в фор­мат VDI, ис­поль­зуе­мый как фор­мат вир­ту­аль­но­го же­ст­ко­го дис­ка в VirtualBox. Опять же в за­ви­си­мо­сти от раз­ме­ра об­раза это мо­жет за­нять неко­то­рое вре­мя.

На­строй­ка вир­ту­аль­ной ма­ши­ны

По­сле это­го нуж­но от­крыть VirtualBox и соз­дать но­вую вир­ту­аль­ную ма­ши­ну, щелк­нув по кноп­ке New [Соз­дать] в ле­вом верхнем уг­лу ок­на VirtualBox, за­тем на­жать Next [Да­лее], ука­зав имя но­вой вир­ту­аль­ной ма­ши­ны, в дан­ном слу­чае, Mint, и из­менив Operating System [Опе­ра­ци­он­ную сис­те­му] и Version [Вер­сию] на Linux и Ubuntu со­от­вет­ст­вен­но – см. рис. 4.

В сле­дую­щем окне нуж­но вы­де­лить ОЗУ, доста­точ­ное для скон­вер­ти­ро­ван­но­го об­раза; из­на­чаль­но на ПК1 был 1 ГБ, по­это­му все зна­чения вы­ше это­го пой­дут в плюс.

Когда вас по­про­сят вы­брать Virtual Hard Disk [Вир­ту­аль­ный же­ст­кий диск], вме­сто ва­ри­ан­та по умол­чанию Create new hard disk [Соз­дать но­вый же­ст­кий диск] щелкните на Use existing hard disk [Ис­поль­зо­вать су­ще­ст­вую­щий же­ст­кий диск] и вы­бе­ри­те ре­зуль­тат кон­вер­сии – файл Mint.VDI.

На­конец, на­жми­те Create [Соз­дать] в окне со свод­кой, и файл об­раза ПК1 бу­дет ис­поль­зо­вать­ся как же­ст­кий диск соз­дан­ной вир­ту­аль­ной ма­ши­ны.

По су­ти, все, что мы сде­ла­ли – да­ли вир­ту­аль­ной ма­шине имя в VirtualBox и вы­де­ли­ли доста­точ­но опе­ра­тив­ной па­мя­ти для ее за­пуска. Са­ма вир­ту­аль­ная ма­ши­на уже су­ще­ст­ву­ет в ви­де соз­дан­но­го и скон­вер­ти­ро­ван­но­го об­раза ПК1 в фай­ле Mint.VDI.

По­сле соз­дания вир­ту­аль­ной ма­ши­ны под­правь­те все необ­хо­ди­мые па­ра­мет­ры, на­при­мер, объ­ем доступ­ной ви­део­па­мя­ти, и на­жми­те Start [За­пустить] для за­груз­ки об­раза ПК1 в VirtualBox, как по­ка­за­но на рис. 5.

Спо­соб 2

Этот спо­соб го­раз­до про­ще, так как кон­вер­ти­ро­вать ниче­го не на­до. Восполь­зо­вав­шись ранее уста­нов­лен­ной QEMU или AQEMU, пе­рей­ди­те в тер­ми­нал и на­бе­ри­те:

kvm mint.img -m 2047

Об­раз за­пустит­ся в вир­ту­аль­ном ок­ру­жении QEMU, так же, как это бы­ло при пер­вом соз­дании об­раза ПК1, что вид­но из рис. 6. Од­на­ко ра­бо­чий стол, со­от­вет­ст­вую­щий поль­зо­ва­те­лю на ПК1, не за­гру­зит­ся. Не­смот­ря на это, сис­те­мой мож­но поль­зо­вать­ся так же, как и на ПК1, и все ва­ши при­ло­жения бу­дут доступ­ны, как по­лу­чи­лось с на­ши­ми. По­те­ря­лись толь­ко па­ра­мет­ры ра­бо­чего сто­ла. Ме­ж­ду про­чим, па­ра­метр -M так­же вы­де­ля­ет об­ра­зу 2 ГБ опе­ра­тив­ной па­мя­ти; а так как на старом ком­пь­ю­те­ре бы­ло все­го 1 ГБ, это уже зна­чи­тель­ное улуч­шение.

Хо­тя этот спо­соб бы­ст­рее, он до­воль­но нена­де­жен по час­ти за­пуска об­раза. Сис­те­мы об­ра­зов час­то «па­да­ют» и ра­бо­та­ют очень мед­лен­но – но все-та­ки ра­бо­та­ют, а немно­го ра­зо­брав­шись в па­ра­мет­рах команд­ной стро­ки QEMU, вы смо­же­те уст­ранить боль­шин­ст­во оши­бок. У ка­ж­до­го ме­то­да есть свои пре­иму­ще­ст­ва, хо­тя но­вич­кам в вир­туа­ли­за­ции боль­ше по­дой­дет VirtualBox с его плав­ным и удоб­ным ин­тер­фей­сом.

По­следний этап – тща­тель­но про­ве­рить вир­ту­аль­ный об­раз в VirtualBox или QEMU. Убе­ди­тесь, что все ра­бо­та­ет как по­ла­га­ет­ся, и что при­ло­жения и все специализированные про­грам­мы за­пуска­ют­ся так, как за­пуска­лись на ис­ход­ном ПК1.

Ес­ли вы убе­ди­лись, что об­раз ПК1 ра­бо­та­ет имен­но так, как дол­жен, на­вер­ное, по­ра из­ба­вить от му­чений бед­но­го зве­ря? Или, как мы, со­хранить ста­рые ком­пь­ю­те­ры, хо­тя их об­ра­зы мы уже сде­ла­ли. Как из­вест­но, в глу­бине ду­ши мы скры­тые плюш­ки­ны и нена­ви­дим са­му мысль о том, что­бы вы­бро­сить же­лез­ку, ра­бо­та­ет она или нет! |

Персональные инструменты
купить
подписаться
Яндекс.Метрика