Isang maliit na digression: ang LR na ito ay gawa ng tao.
Ang ilan sa mga gawaing inilarawan dito ay maaaring gawin nang mas simple, ngunit dahil ang gawain ng l/r ay ang makilala
na may raid at lvm functionality, ang ilang mga operasyon ay artipisyal na kumplikado.
Mga kinakailangan para sa mga tool upang maisagawa ang LR:
Mga tool sa virtualization tulad ng Virtualbox
Halimbawa, larawan ng pag-install ng Linux Debian9
Availability ng Internet para sa pag-download ng ilang mga pakete
Kumonekta sa pamamagitan ng ssh sa naka-install na VM (opsyonal)
Pansin
Ang gawaing laboratoryo na ito ay nauugnay sa isang banayad na bagay tulad ng seguridad ng data - ito ay isang lugar kung saan
na nagbibigay-daan sa iyong mawala ang lahat ng iyong data dahil sa pinakamaliit na error - isang dagdag na titik o numero.
Dahil gumagawa ka ng gawaing laboratoryo, wala kang panganib, maliban na kailangan mong simulan itong gawin muli.
Sa totoong buhay, ang lahat ay mas seryoso, kaya dapat mong ipasok ang mga pangalan ng drive nang maingat, pag-unawa
ano ang eksaktong ginagawa mo sa kasalukuyang utos at kung anong mga disk ang ginagamit mo.
Ang pangalawang mahalagang punto ay ang pagbibigay ng pangalan ng mga disk at partisyon: depende sa sitwasyon, maaaring magkakaiba ang mga numero ng disk
mula sa mga halagang iyon na ipinakita sa mga utos sa gawaing laboratoryo.
Kaya, halimbawa, kung aalisin mo ang sda ββdisk mula sa array at pagkatapos ay magdagdag ng isang bagong disk, ang bagong disk ay ipapakita
sa isang sistemang pinangalanang sda. Kung nag-reboot ka bago magdagdag ng bagong disk, pagkatapos ay ang bago
ang disk ay tatawaging sdb, at ang luma ay tatawaging sda
Ang lab ay dapat patakbuhin bilang superuser (root) gaya ng hinihiling ng karamihan sa mga utos
mataas na mga pribilehiyo at hindi makatuwirang patuloy na pataasin ang mga pribilehiyo sa pamamagitan ng sudo
Mga Materyales sa Pag-aaral
Pagsalakay
LVM
Pangalan ng disk sa Linux OS
Ano ang isang seksyon
Ano ang isang partition table at saan ito nakaimbak?
Ano ang grub
Mga gamit na ginamit
1) tingnan ang impormasyon sa disk
lsblk -o NAME, SIZE, FSTYPE, TYPE, MOUNTPOINT
fdisk -l
2) pagtingin sa impormasyon at pakikipagtulungan sa LVM
pvs
pvextend
pvcreate
pvresize
atbp
vgreduce
lvs
lvextend
3) pagtingin sa impormasyon at pagtatrabaho sa RAID
pusa /proc/mdstat
mdadm
4) mount point
Mount
umount
pusa /etc/fstab
pusa /etc/mtab
5) repartition ng disk
fdisk /dev/XXX
6) pagkopya ng mga partisyon
dd kung=/dev/xxx ng=/dev/yyy
7) nagtatrabaho sa talahanayan ng partisyon
partx
sfdisk
mkfs.ext4
8) nagtatrabaho sa bootloader
grub-install /dev/XXX
update-grub
9) misc
lsof
malamang
rsync
Ang gawain sa laboratoryo ay binubuo ng 3 bahagi:
pag-set up ng isang gumaganang sistema gamit ang lvm, raid
pagtulad sa isa sa mga pagkabigo sa disk
pagpapalit ng mga disk nang mabilis, pagdaragdag ng mga bagong disk at paglipat ng mga partisyon.
Gawain 1 (Pag-install at pagsasaayos ng OS ng LVM, RAID)
1) Lumikha ng bagong virtual machine, na nagbibigay dito ng mga sumusunod na katangian:
1 gb ram
1 cpu
2 hdds (pangalanan ang mga ito ssd1, ssd2 at magtalaga ng pantay na laki, suriin ang mga hot swap at ssd box)
Na-configure ang SATA controller para sa 4 na port
2) Simulan ang pag-install ng Linux at kapag nakapili ka na ng mga hard drive, gawin ang sumusunod:
Paraan ng paghahati: manu-mano, pagkatapos ay dapat mong makita ang larawang ito:
Pag-set up ng hiwalay na partition para sa /boot: Piliin ang unang disk at lumikha ng bagong partition table dito
Laki ng partisyon: 512M
Mount point: /boot
Ulitin ang mga setting para sa pangalawang disk, ngunit dahil hindi mo mai-mount ang /boot nang dalawang beses sa parehong oras, piliin ang mount point: wala, sa huli ay makuha ang sumusunod (larawan na may hamba, masyadong tamad na gawing muli):
Setup ng RAID:
Pumili ng libreng espasyo sa unang disk at i-configure ang uri ng partition bilang pisikal na volume para sa RAID
Piliin ang "Tapos na sa pag-set up ng partition"
Ulitin ang eksaktong parehong mga setting para sa pangalawang disk, na nagreresulta sa mga sumusunod:
Piliin ang "I-configure ang software RAID"
Lumikha ng MD device
Software RAID uri ng device: Piliin ang mirror array
Mga aktibong device para sa RAID XXXX array: Piliin ang parehong mga drive
Mga ekstrang device: Iwan ang 0 bilang default
Mga aktibong device para sa RAID XX array: piliin ang mga partisyon na ginawa mo sa ilalim ng raid
Tapusin
Bilang resulta, dapat kang makakuha ng larawang tulad nito:
Pag-configure ng LVM: Piliin ang I-configure ang Logical Volume Manager
Panatilihin ang kasalukuyang layout ng partition at i-configure ang LVM: Oo
Gumawa ng volume group
Pangalan ng pangkat ng volume: system
Mga device para sa bagong pangkat ng volume: Piliin ang iyong ginawang RAID
Lumikha ng lohikal na dami
pangalan ng lohikal na dami: ugat
lohikal na laki ng volume: 25 ng laki ng iyong disk
Lumikha ng lohikal na dami
pangalan ng lohikal na dami: var
lohikal na laki ng volume: 25 ng laki ng iyong disk
Lumikha ng lohikal na dami
pangalan ng lohikal na dami: log
lohikal na laki ng volume: 15 ng laki ng iyong disk
Sa pamamagitan ng pagpili sa Display configuration details dapat mong makuha ang sumusunod na larawan:
Kapag nakumpleto mo na ang pag-set up ng LVM dapat mong makita ang sumusunod:
Layout ng partition: isa-isa, piliin ang bawat volume na ginawa sa LVM at i-layout ang mga ito, halimbawa, para sa root tulad nito:
Gamitin bilang: ext4
Mount point: /
Ang resulta ng pagmamarka ng root partition ay dapat magmukhang ganito:
ulitin ang operasyon ng partitioning para sa var at log, pagpili ng naaangkop na mga mount point (/var at /var/log na manu-manong ipinasok), makuha ang sumusunod na resulta:
Piliin ang Tapusin ang Paghati
Tatanungin ka ng ilang katanungan tungkol sa katotohanan na mayroon ka pa ring hindi naka-mount na partition at hindi naka-configure ang swap. Ang parehong mga katanungan ay dapat na sagutin sa negatibo.
Ang huling resulta ay dapat magmukhang ganito:
3) Tapusin ang pag-install ng OS sa pamamagitan ng pag-install ng grub sa unang device (sda) at i-boot ang system.
4) Kopyahin ang mga nilalaman ng /boot partition mula sa sda ββdrive (ssd1) sa sdb drive (ssd2)
Ilista ang lahat ng mga disk na ibinigay sa iyo ng nakaraang utos at ilarawan kung anong uri ng disk ito
Hanapin ang drive kung saan hindi naka-install ang grub at gawin ang pag-install na ito: grub-install /dev/sdb
tingnan ang impormasyon tungkol sa kasalukuyang pagsalakay gamit ang cat /proc/mdstat command at isulat kung ano ang iyong nakikita.
tingnan ang output ng mga command: pvs, vgs, lvs, mount at isulat kung ano ang eksaktong nakita mo
Ilarawan sa iyong sariling mga salita kung ano ang iyong ginawa at kung ano ang resulta na nakuha mo mula sa gawain.
Matapos makumpleto ang gawaing ito, inirerekomendang mag-save ng backup na kopya ng folder ng virtual machine o gumawa
palaboy na kahon: https://t.me/bykvaadm/191
Resulta: Virtual machine na may mga disk ssd1, ssd2
Gawain 2 (Paggaya sa kabiguan ng isa sa mga disk)
1) Kung nasuri mo ang kahon ng hot swap, pagkatapos ay maaari mong tanggalin ang mga disk sa mabilisang
Tanggalin ang disk ssd1 sa mga katangian ng makina
Hanapin ang direktoryo kung saan nakaimbak ang iyong mga virtual machine file at tanggalin ang ssd1.vmdk
2) Tiyaking tumatakbo pa rin ang iyong virtual machine
3) I-reboot ang virtual machine at tiyaking tumatakbo pa rin ito
4) suriin ang katayuan ng RAID array: cat /proc/mdstat
5) magdagdag ng bagong disk na may parehong laki sa interface ng VM at pangalanan itong ssd3
6) isagawa ang mga operasyon:
tingnan na ang bagong disk ay dumating sa system gamit ang fdisk -l
kopyahin ang partition table mula sa lumang disk patungo sa bago: sfdisk -d /dev/XXXX | sfdisk /dev/YYY
tingnan ang resulta gamit ang fdisk -l
Magdagdag ng bagong disk sa raid array: mdadm βmanage /dev/md0 βadd /dev/YYY
Tingnan ang resulta: cat /proc/mdstat. Dapat mong makita na nagsimula na ang pag-synchronize
7) Ngayon ay kailangan mong manu-manong i-synchronize ang mga partisyon na hindi bahagi ng RAID.
Upang gawin ito, gagamitin namin ang dd utility, pagkopya mula sa "live" na disk patungo sa bago na iyong na-install kamakailan.
dd if=/dev/XXX of=/dev/YYY
8) Pagkatapos makumpleto ang pag-synchronize, i-install ang grub sa bagong drive
9) I-reboot ang VM upang matiyak na gumagana ang lahat
Ilarawan sa iyong sariling mga salita kung ano ang iyong ginawa at kung ano ang resulta na nakuha mo mula sa gawain.
Resulta: Inalis ang disk ssd1, na-save ang disk ssd2, naidagdag ang disk ssd3.
Gawain 3 (Pagdaragdag ng mga bagong disk at paglipat ng partition)
Ito ang pinakamasalimuot at napakalaking gawain sa lahat ng ipinakita.
Suriing mabuti kung ano ang iyong ginagawa at kung aling mga disk at partisyon.
Inirerekomenda na gumawa ng isang kopya bago ito patakbuhin.
Ang gawaing ito ay independiyente sa gawain No. 2, maaari itong isagawa pagkatapos ng gawain No. 1, na nababagay para sa mga pangalan ng disk.
Ang ikalawang bahagi ng gawaing pang-laboratoryo na ito ay dapat na humantong sa eksaktong parehong estado na pagkatapos makumpleto ang unang bahagi.
Upang gawing mas madali ang iyong trabaho, maaari kong irekomenda na huwag pisikal na mag-alis ng mga disk mula sa host machine, ngunit lamang
idiskonekta ang mga ito sa mga katangian ng makina. Mula sa punto ng view ng OS sa VM ito ay magiging eksaktong pareho, ngunit magagawa mo
kung may nangyari, ikonekta ang disk pabalik at ipagpatuloy ang trabaho sa pamamagitan ng pag-roll pabalik ng ilang puntos, kung
nagkakaproblema ka. Halimbawa, maaaring hindi mo ito nagawa o nakalimutan mong kopyahin ang /boot partition sa bagong disk.
Maipapayo ko lang sa iyo na i-double check kung aling mga disk at partition ang pinagtatrabahuhan mo nang ilang beses, o mas mabuti pa
Isulat sa isang piraso ng papel ang mga sulat sa pagitan ng mga disk, partisyon at "pisikal" na numero ng disk. Maganda at malinaw na puno
team draws lsblk, gamitin ito nang madalas hangga't maaari upang pag-aralan kung ano ang nagawa mo at kung ano ang kailangang gawin.
Sa kwento...
Isipin na ang iyong server ay tumatakbo nang mahabang panahon sa 2 SSD drive, nang biglang...
1) Gayahin ang ssd2 disk failure sa pamamagitan ng pag-alis ng disk mula sa mga katangian ng VM at pag-reboot
2) Tingnan ang kasalukuyang katayuan ng mga disk at RAID:
3) Maswerte ka - pinayagan ka ng iyong mga boss na bumili ng ilang bagong disk:
2 large-capacity SATA para sa matagal nang na-overdue na gawain ng paglipat ng partition na may mga log sa isang hiwalay na disk
2 SSD upang palitan ang namatay, pati na rin ang palitan ang gumagana pa rin.
Pakitandaan na sinusuportahan lamang ng server basket ang pag-install ng 4 na disk sa isang pagkakataon,
samakatuwid, hindi mo maaaring idagdag ang lahat ng mga disk nang sabay-sabay.
Piliin ang kapasidad ng HDD na 2 beses na mas malaki kaysa sa SSD.
Ang kapasidad ng SSD ay 1,25 beses na mas malaki kaysa sa dating SSD.
4) Magdagdag ng isang bagong ssd disk, na tinatawag itong ssd4, at pagkatapos idagdag, suriin kung ano ang nangyari:
5) Una sa lahat, dapat mong alagaan ang kaligtasan ng data sa lumang disk.
Sa pagkakataong ito ay maglilipat kami ng data gamit ang LVM:
Una sa lahat, kailangan mong kopyahin ang file table mula sa lumang disk patungo sa bago:
sfdisk -d /dev/XXX | sfdisk /dev/YYY
Palitan ang tamang mga disk para sa x,y at alamin kung ano ang ginagawa ng utos na ito.
Patakbuhin ang lsblk -o NAME,SIZE,FSTYPE,TYPE,MOUNTPOINT at ihambing ang output nito sa nakaraang tawag.
Ano ang nagbago?
gamitin ang dd command para kopyahin ang /boot data sa bagong disk
dd if=/dev/XXX of=/dev/YYY
kung nanatiling naka-mount ang /boot sa lumang disk, dapat itong i-remount sa live disk:
Ang utos sa itaas ay hindi gagana nang walang pagtukoy ng isang espesyal na susi.
Basahin ang tulong at idagdag ang key na ito sa command.
Gamitin ang cat /proc/mdstat command para tingnan ang resulta ng iyong operasyon. Ano ang nagbago?
Patakbuhin ang lsblk -o NAME,SIZE,FSTYPE,TYPE,MOUNTPOINT at ihambing ang output nito sa nakaraang tawag.
Ano ang nagbago?
6) Ang susunod na hakbang ay i-configure ang LVM
patakbuhin ang pvs command upang tingnan ang impormasyon tungkol sa kasalukuyang mga pisikal na volume
lumikha ng bagong pisikal na dami kasama ang naunang ginawang RAID array:
pvcreate /dev/md63
Patakbuhin ang lsblk -o NAME,SIZE,FSTYPE,TYPE,MOUNTPOINT at ihambing ang output nito sa nakaraang tawag.
Ano ang nagbago?
Patakbuhin muli ang pvs command. Ano ang nagbago?
Palakihin natin ang laki ng Volume Group system gamit ang sumusunod na command:
vgextend system /dev/md63
Patakbuhin ang mga utos at isulat kung ano ang iyong nakita at kung ano ang nagbago.
vgdisplay system -v
pvs
vgs
lvs -a -o+devices
Sa anong pisikal na disk matatagpuan ang LV var, log, root na kasalukuyang matatagpuan?
Ilipat ang data mula sa lumang disk patungo sa bago, gamit ang mga tamang pangalan ng device.
Ulitin ang operasyon para sa lahat ng lohikal na volume
Patakbuhin ang mga utos at isulat kung ano ang iyong nakita at kung ano ang nagbago.
vgdisplay system -v
pvs
vgs
lvs -a -o+devices
lsblk -o NAME,SIZE,FSTYPE,TYPE,MOUNTPOINT
Baguhin natin ang ating VG sa pamamagitan ng pag-alis ng lumang raid disk mula dito. Palitan ang tamang pangalan ng raid.
vgreduce system /dev/md0
Patakbuhin ang mga utos at isulat kung ano ang iyong nakita at kung ano ang nagbago.
lsblk -o NAME,SIZE,FSTYPE,TYPE,MOUNTPOINT
pvs
vgs
Upang gawing mas maganda ang larawan, i-remount ang /boot sa pangalawang ssd disk (ssd4) at patakbuhin ang lsblk. Bilang resulta, ang ssd3 disk ay hindi
walang dapat i-mount. Maingat na suriin na ang /boot partition ay walang laman! ls /boot dapat ipakita
ilang mga file at folder. Pag-aralan kung ano ang nakaimbak sa seksyong ito at isulat kung aling direktoryo ng file ang responsable para sa kung ano.
7) alisin ang ssd3 disk at magdagdag ng ssd5, hdd1, hdd2 ayon sa mga teknikal na pagtutukoy na inilarawan sa itaas, na nagreresulta sa:
ssd4 - ang unang bagong ssd
ssd5 - pangalawang bagong ssd
hdd1 - unang bagong hdd
hdd2 - pangalawang bagong hdd
8) Suriin kung ano ang nangyari pagkatapos magdagdag ng mga disk:
9) Ibalik natin ang operasyon ng pangunahing raid array:
kopyahin ang partition table, palitan ang tamang mga disk:
sfdisk -d /dev/XXX | sfdisk /dev/YYY
Mangyaring tandaan na kapag kinopya namin ang partition table mula sa lumang disk, tila ang bagong laki
hindi ginagamit ang buong kapasidad ng hard drive.
Samakatuwid, sa lalong madaling panahon kakailanganin nating baguhin ang laki ng partisyon na ito at palawakin ang pagsalakay.
Tingnan para sa iyong sarili sa pamamagitan ng pagpapatakbo ng command:
lsblk -o NAME,SIZE,FSTYPE,TYPE,MOUNTPOINT
10) kopyahin ang boot partition /boot mula sa ssd4 hanggang ssd5
dd if=/dev/XXX of=/dev/YYY
11) I-install ang grub sa bagong drive (ssd5)
12) baguhin ang laki ng pangalawang partisyon ng ssd5 disk
patakbuhin ang disk partitioning utility:
fdisk /dev/XXX
ipasok ang d key upang tanggalin ang isang umiiral na partisyon (piliin ang 2)
ipasok ang key n upang lumikha ng isang bagong partisyon
ipasok ang key p upang ipahiwatig ang uri ng partisyon ay "pangunahin"
ipasok ang key 2 upang ang bagong partisyon ay may pangalawang numero
Unang sektor: pindutin ang enter para tanggapin ang awtomatikong kalkuladong laki ng simula ng partition
Huling sektor: pindutin ang enter para tanggapin ang awtomatikong kinakalkula na laki ng dulo ng partition
ipasok ang l key upang makita ang isang listahan ng lahat ng posibleng uri ng partition at hanapin ang Linux raid auto dito
ipasok ang t key upang baguhin ang uri ng nilikhang partisyon (2) at ipasok ang numerong makikita sa nakaraang hakbang.
ipasok ang w key upang isulat ang pagbabago sa disk.
12) muling basahin ang partition table at suriin ang resulta
magdagdag ng bagong disk sa kasalukuyang raid array (huwag kalimutang palitan ang tamang mga disk)
mdadm --manage /dev/md63 --add /dev/sda2
Palawakin natin ang bilang ng mga disk sa ating array sa 2:
mdadm --grow /dev/md63 --raid-devices=2
Tingnan ang resulta: mayroon kaming 2 arrays na namarkahan, ngunit ang parehong mga seksyon na kasama sa array na ito ay may iba't ibang laki
lsblk -o NAME,SIZE,FSTYPE,TYPE,MOUNTPOINT
13) dagdagan ang laki ng partisyon sa ssd4 disk
patakbuhin ang disk partitioning utility:
fdisk /dev/XXX
ipasok ang d key upang tanggalin ang isang umiiral na partisyon (piliin ang 2)
ipasok ang key n upang lumikha ng isang bagong partisyon
ipasok ang key p upang ipahiwatig ang uri ng partisyon ay "pangunahin"
ipasok ang key 2 upang ang bagong partisyon ay may pangalawang numero
Unang sektor: pindutin ang enter para tanggapin ang awtomatikong kalkuladong laki ng simula ng partition
Huling sektor: pindutin ang enter para tanggapin ang awtomatikong kinakalkula na laki ng dulo ng partition
Sa dulo ng markup, piliin ang Hindi upang iwanan ang lagda ng partisyon na kabilang sa array.
ipasok ang w key upang isulat ang pagbabago sa disk.
12) muling basahin ang partition table at suriin ang resulta
Pakitandaan na ngayon ang sda2, sdc2 partition ay may sukat na > kaysa sa laki ng raid device.
13) sa yugtong ito ang laki ng raid ay maaari nang palawakin
mdadm --grow /dev/md63 --size=max
lsblk -o NAME,SIZE,FSTYPE,TYPE,MOUNTPOINT # check result
Suriin ang lsblk at tandaan kung ano ang nagbago
14) Gayunpaman, kahit na binago namin ang laki ng raid, ang mga sukat ng vg root,var,log mismo ay hindi nagbago
tingnan ang laki ng PV:
pvs
Palawakin natin ang laki ng ating PV:
pvresize /dev/md63
tingnan ang laki ng PV:
pvs
15) Idagdag ang bagong lumitaw na lokasyon VG var,root
17) ilipat ang data ng log mula sa lumang partisyon patungo sa bago
pansamantalang mag-install ng bagong imbakan ng log
mount /dev/mapper/data-var_log /mnt
i-synchronize natin ang mga partisyon
apt install rsync
rsync -avzr /var/log/ /mnt/
Alamin natin kung aling mga proseso ang kasalukuyang tumatakbo sa /var/log
apt install lsof
lsof | grep '/var/log'
itigil ang mga prosesong ito
systemctl stop rsyslog.service syslog.socket
magsagawa ng panghuling pag-synchronize ng mga partisyon (data na maaaring nagbago mula noong huling pag-synchronize)
rsync -avzr /var/log/ /mnt/
palitan ang mga seksyon
umount /mnt
umount /var/log
mount /dev/mapper/data-var_log /var/log
tingnan natin kung ano ang nangyari
lsblk
18) I-edit ang /etc/fstab
fstab - isang file na nagtatala ng mga patakaran kung saan ang mga partisyon ay mai-mount sa boot
ang aming gawain ay hanapin ang linya kung saan naka-mount ang /var/log at ayusin ang device system-log sa data-var_log
19) Ang pinakamahalagang bagay sa yugtong ito ay huwag kalimutang baguhin ang radela table (ext4, halimbawa). Dahil kahit paano natin baguhin ang lahat ng uri ng raid, lvm, hanggang sa maabisuhan ang FS sa partition na nagbago na ang laki ng partition, hindi natin magagamit ang bagong espasyo. Gamitin ang command resize2fs para baguhin ang FS.
20) Panghuling chord
I-reboot natin. Kung ginawa mo nang tama ang lahat, ibabalik ka sa iyong OS (kinakailangan ito upang matiyak na gumagana ang lahat. Ang hakbang na ito ay walang kahulugan maliban sa self-testing)
suriin na ang lahat ng gusto naming gawin ay talagang nagawa:
pvs
lvs
vgs
lsblk
cat /proc/mdstat
21) [OPTIONAL] Sundin ang mga hakbang
i-reboot sa pamamagitan ng pagpindot sa F12 upang tukuyin ang iba't ibang mga drive kapag nagbo-boot upang matiyak na makakapag-boot ka
mula sa alinman sa mga ssd drive, upang hindi kami matakot sa pagkabigo ng isa sa kanila
ngayon mayroon kang hindi kinakailangang LV log sa VG system. Ilaan ang puwang na ito sa pagitan ng ugat o var, ngunit sa halip na gamitin
ang mga disenyo na 100% LIBRE ay tukuyin ang laki sa pamamagitan ng kamay gamit ang -L key:
-L 500M
ayusin ang problema na ang /boot ay matatagpuan sa dalawang partisyon nang walang pag-synchronize, hindi na kailangang gawin ito ng tama,
ito ay idinagdag dito bilang isang halimbawa. Huwag kalimutang kopyahin muna ang mga nilalaman ng /boot sa isang lugar.
gumawa ng bagong raid at isama ang sda1,sda2 dito
isama ang mga partisyon na ito sa umiiral na raid at i-restore ang /boot sa pangunahing raid, ngunit hindi ito i-mount.