Malgranda digreso: ĉi tiu LR estas sinteza.
Kelkaj el la ĉi tie priskribitaj taskoj povas esti faritaj multe pli simple, sed ĉar la tasko de l/r estas ekkoni
kun atako kaj lvm-funkcieco, kelkaj operacioj estas artefarite komplikaj.
Postuloj por iloj por plenumi LR:
Virtualigaj iloj kiel Virtualbox
Linukso instala bildo, ekzemple Debian9
Havebleco de Interreto por elŝuti plurajn pakaĵojn
Konekti per ssh al la instalita VM (laŭvola)
ATENTO
Ĉi tiu laboratorio laboro rilatas al tia subtila afero kiel datuma sekureco - ĉi tiu estas areo kie
kiu ebligas al vi perdi ĉiujn viajn datumojn pro la plej malgranda eraro - unu kroma litero aŭ numero.
Ĉar vi faras laboratorion, vi ne estas en danĝero, krom ke vi devos rekomenci ĝin fari.
En la reala vivo, ĉio estas multe pli serioza, do vi devas enmeti stirajn nomojn tre zorge, komprenante
kion precize vi faras per la nuna komando kaj kun kiuj diskoj vi laboras.
La dua grava punkto estas la nomado de diskoj kaj sekcioj: laŭ la situacio, disknombroj povas malsami
el tiuj valoroj, kiuj estas prezentitaj en la komandoj en la laboratoria laboro.
Do, ekzemple, se vi forigas la sda-diskon de la tabelo kaj poste aldonas novan diskon, la nova disko estos montrata
sur sistemo nomita sda. Se vi rekomencas antaŭ ol aldoni novan diskon, tiam la nova
la disko estos nomita sdb, kaj la malnova nomos sda
La laboratorio devas esti rulita kiel superuzanto (radiko) kiel la plej multaj el la komandoj postulas
altigitaj privilegioj kaj ne havas sencon konstante eskaladi privilegiojn per sudo
Studaj Materialoj
RAID
LVM
Diskonomado en Linukso OS
Kio estas sekcio
Kio estas sekciotabelo kaj kie ĝi estas konservita?
Kio estas grub
Utilaĵoj uzataj
1) vidi diskojn informojn
lsblk -o NOMO,SIZE,FSTYPE,TIPO,MONTPUNTO
fdisk -l
2) vidi informojn kaj labori kun LVM
pvs
pvextend
pvccreate
pvresize
ktp
vgreduce
lvs
lvetend
3) vidi informojn kaj labori kun RAID
kato /proc/mdstat
mdadm
4) muntpunktoj
monto
malmunti
kato /etc/fstab
kato /etc/mtab
5) diskrepartigo
fdisk /dev/XXX
6) kopii sekciojn
dd if=/dev/xxx of=/dev/yyy
7) laborante kun la sekciotabelo
partx
sfdisko
mkfs.ext4
8) laborante kun la ekŝargilo
grub-install /dev/XXX
ĝisdatigi-grub
9) diversaj
lsof
apt
rsync
Laboratorio konsistas el 3 partoj:
starigi funkciantan sistemon uzante lvm, raid
emulado de unu el la diskofiaskoj
anstataŭigante diskojn sur la flugo, aldonante novajn diskojn kaj movante sekciojn.
Tasko 1 (OS-instalado kaj agordo de LVM, RAID)
1) Kreu novan virtualan maŝinon, donante al ĝi la sekvajn trajtojn:
1 gb ram
1 CPU
2 hdds (nomu ilin ssd1, ssd2 kaj asignu egalajn grandecojn, kontrolu la varman interŝanĝon kaj ssd-skatolojn)
SATA-regilo agordita por 4 havenoj
2) Komencu instali Linukson kaj kiam vi elektas malmolajn diskojn, faru la jenon:
Dispartiga metodo: manlibro, post kiu vi devus vidi ĉi tiun bildon:
Agordi apartan subdiskon por /boot: Elektu la unuan diskon kaj kreu novan diskdiskon sur ĝi
Sekciograndeco: 512M
Montpunkto: /boot
Ripetu la agordojn por la dua disko, sed ĉar vi ne povas munti /boot dufoje samtempe, elektu muntan punkton: neniu, eventuale ricevante la jenon (bildo kun jambo, tro maldiligenta por refari ĝin):
RAID-aranĝo:
Elektu liberan spacon sur la unua disko kaj agordu la dispartipon kiel fizikan volumon por RAID
Elektu "Fine agordi la sekcion"
Ripetu ĝuste la samajn agordojn por la dua disko, rezultigante la jenon:
Elektu "Agordu programaron RAID"
Kreu MD-aparaton
Tipo de aparato de programaro RAID: Elektu spegulan tabelon
Aktivaj aparatoj por la RAID XXXX tabelo: Elektu ambaŭ diskojn
Rezervaparatoj: Lasu 0 kiel defaŭltan
Aktivaj aparatoj por la tabelo RAID XX: elektu la sekciojn, kiujn vi kreis sub raid
finpoluro
Kiel rezulto, vi devus ricevi bildon kiel ĉi tiu:
Agordante LVM: Elektu Agordi la Logikan Voluman Administranton
Konservu nunan subdiskoran aranĝon kaj agordu LVM: Jes
Krei volumenan grupon
Nomo de volumgrupo: sistemo
Aparatoj por la nova volumgrupo: Elektu vian kreitan RAID
Krei logikan volumon
logika volumnomo: radiko
logika volumgrandeco: 25 el via diskgrandeco
Krei logikan volumon
logika volumnomo: var
logika volumgrandeco: 25 el via diskgrandeco
Krei logikan volumon
logika volumnomo: log
logika volumgrandeco: 15 el via diskgrandeco
Elektante Montru agordajn detalojn vi devus ricevi la sekvan bildon:
Post kiam vi finis agordi LVM, vi devus vidi la jenon:
Dispartiga aranĝo: unu post alia, elektu ĉiun volumon kreitan en LVM kaj aranĝu ilin, ekzemple, por radiko tiel:
Uzu kiel: ext4
montopunkto: /
La rezulto de markado de la radika sekcio devus aspekti jene:
ripetu la dispartigan operacion por var kaj log, elektante la taŭgajn muntajn punktojn (/var kaj /var/log permane enigitaj), akirante la sekvan rezulton:
Elektu Fini Dispartigon
Oni demandos al vi plurajn demandojn pri la fakto, ke vi ankoraŭ havas malmuntitan subdiskon kaj interŝanĝo ne estas agordita. Ambaŭ demandoj estu responditaj en la negativa.
La fina rezulto devus aspekti jene:
3) Finu la OS-instaladon instalante grub sur la unua aparato (sda) kaj lanĉu la sistemon.
4) Kopiu la enhavon de la /boot-disko de la sda-disko (ssd1) al la sdb-disko (ssd2)
Listigu ĉiujn diskojn kiujn la antaŭa komando donis al vi kaj priskribu kian diskon ĝi estas
Trovu la diskon kie grub ne estis instalita kaj faru ĉi tiun instaladon: grub-install /dev/sdb
rigardu informojn pri la nuna atako per la komando cat /proc/mdstat kaj skribu tion, kion vi vidas.
rigardu la eliron de la komandoj: pvs, vgs, lvs, munti kaj skribu tion, kion vi precize vidis
Priskribu per viaj propraj vortoj kion vi faris kaj kian rezulton vi ricevis de la tasko.
Post plenumi ĉi tiun taskon, oni rekomendas konservi rezervan kopion de la virtuala maŝina dosierujo aŭ fari
vaganta skatolo: https://t.me/bykvaadm/191
Rezulto: Virtuala maŝino kun diskoj ssd1, ssd2
Tasko 2 (Emulante la fiaskon de unu el la diskoj)
1) Se vi kontrolis la varman interŝanĝan skatolon, tiam vi povas forigi diskojn sur la flugo
Forigu diskon ssd1 en maŝinaj propraĵoj
Trovu la dosierujon kie viaj virtualaj maŝinaj dosieroj estas konservitaj kaj forigu ssd1.vmdk
2) Certiĝu, ke via virtuala maŝino ankoraŭ funkcias
3) Rekomencu la virtualan maŝinon kaj certigu, ke ĝi ankoraŭ funkcias
4) kontrolu la staton de la RAID-tabelo: cat /proc/mdstat
5) aldonu novan diskon de la sama grandeco en la VM-interfaco kaj nomu ĝin ssd3
6) faru la operaciojn:
vidu, ke la nova disko alvenis en la sistemon per fdisk -l
kopiu la diskpartigan tabelon de la malnova disko al la nova: sfdisk -d /dev/XXXX | sfdisk /dev/YYY
rigardu la rezulton uzante fdisk -l
Aldonu novan diskon al la ataka tabelo: mdadm —manage /dev/md0 —add /dev/YYY
Rigardu la rezulton: cat /proc/mdstat. Vi devus vidi, ke sinkronigo komenciĝis
7) Nun vi devas permane sinkronigi subdiskojn kiuj ne estas parto de la RAID.
Por fari tion, ni uzos la dd-ilaĵon, kopiante de la "viva" disko al la nova, kiun vi ĵus instalis.
dd if=/dev/XXX of=/dev/YYY
8) Post kiam la sinkronigo estas kompleta, instalu grub sur la nova disko
9) Rekomencu la VM por certigi, ke ĉio funkcias
Priskribu per viaj propraj vortoj kion vi faris kaj kian rezulton vi ricevis de la tasko.
Rezulto: Disko ssd1 estis forigita, disko ssd2 estis konservita, disko ssd3 estis aldonita.
Tasko 3 (Aldono de novaj diskoj kaj movi vando)
Ĉi tiu estas la plej kompleksa kaj volumena tasko el ĉiuj prezentitaj.
Kontrolu tre atente, kion vi faras kaj per kiuj diskoj kaj sekcioj.
Oni rekomendas fari kopion antaŭ ol ruli ĝin.
Tiu ĉi tasko estas sendependa de la tasko n-ro 2, ĝi povas esti plenumita post la tasko n-ro 1, alĝustigita por disknomoj.
La dua parto de ĉi tiu laboratoriotasko devus konduki al precize la sama stato kiu estis post kompletigado de la unua parto.
Por faciligi vian laboron, mi povas rekomendi ne fizike forigi diskojn de la gastiga maŝino, sed nur
malkonekti ilin en la maŝinaj propraĵoj. El la vidpunkto de la OS en la VM ĝi aspektos ĝuste same, sed vi povas
se io okazas, rekonektu la diskon kaj daŭrigu la laboron retroirante kelkajn punktojn, se
vi havas problemojn. Ekzemple, vi eble faris ĝin malĝuste aŭ forgesis kopii la /boot-diskon al la nova disko.
Mi povas nur konsili al vi rekontroli kun kiuj diskoj kaj sekcioj vi laboras plurfoje, aŭ eĉ pli bone.
Skribu sur papero la korespondadon inter la diskoj, sekcioj kaj la "fizika" disknombro. Bela kaj klara arbo
teamremizoj lsblk, uzu ĝin kiel eble plej ofte por analizi kion vi faris kaj kion oni devas fari.
Al la rakonto...
Imagu, ke via servilo funkcias delonge sur 2 SSD-diskoj, kiam subite...
1) Simulu malsukceson de disko ssd2 forigante la diskon de la VM-ecoj kaj rekomencante
2) Rigardu la aktualan staton de diskoj kaj RAID:
5) Antaŭ ĉio, vi zorgu pri la sekureco de la datumoj sur la malnova disko.
Ĉi-foje ni translokigos datumojn per LVM:
Antaŭ ĉio, vi devas kopii la dosiertabelon de la malnova disko al la nova:
sfdisk -d /dev/XXX | sfdisk /dev/YYY
Anstataŭigu la ĝustajn diskojn por x,y kaj eltrovu, kion faras ĉi tiu komando.
Rulu lsblk -o NAME,SIZE,FSTYPE,TYPE,MONTPOINT kaj komparu ĝian eligon kun la antaŭa alvoko.
Kio ŝanĝiĝis?
uzu la dd komandon por kopii la /boot-datumojn al la nova disko
dd if=/dev/XXX of=/dev/YYY
se /boot restis muntita sur la malnova disko, ĝi devus esti remuntita sur la viva disko:
mount | grep boot # смотрим куда смонтирован диск
lsblk # смотрим какие диски есть в системе и смотрим есть ли диск, полученный из предыдущего пункта
umount /boot # отмонтируем /boot
mount -a # выполним монтирование всех точек согласно /etc/fstab.
# Поскольку там указана точка монтирования /dev/sda, то будет выполнено корректное перемонтирование на живой диск
Instalu la ekŝargilon sur la nova ssd-disko
grub-install /dev/YYY
Kial ni faras ĉi tiun operacion?
kreu novan atakan tabelon inkluzive de nur unu nova ssd-disko:
La supra komando ne funkcios sen specifi specialan ŝlosilon.
Legu la helpon kaj aldonu ĉi tiun ŝlosilon al la komando.
Uzu la komandon cat /proc/mdstat por kontroli la rezulton de via operacio. Kio ŝanĝiĝis?
Rulu lsblk -o NAME,SIZE,FSTYPE,TYPE,MONTPOINT kaj komparu ĝian eligon kun la antaŭa alvoko.
Kio ŝanĝiĝis?
6) La sekva paŝo estas agordi LVM
rulu la komandon pvs por vidi informojn pri la nunaj fizikaj volumoj
kreu novan fizikan volumenon inkluzive de la antaŭe kreita RAID-tabelo:
pvcreate /dev/md63
Rulu lsblk -o NAME,SIZE,FSTYPE,TYPE,MONTPOINT kaj komparu ĝian eligon kun la antaŭa alvoko.
Kio ŝanĝiĝis?
Rulu la pvs komandon denove. Kio ŝanĝiĝis?
Ni pliigu la grandecon de la sistemo de Volume Group per la sekva komando:
vgextend system /dev/md63
Rulu la komandojn kaj skribu tion, kion vi vidis kaj kio ŝanĝiĝis.
vgdisplay system -v
pvs
vgs
lvs -a -o+devices
Sur kiu fizika disko troviĝas nuntempe LV var,log,root?
Movu datumojn de la malnova disko al la nova, uzante la ĝustajn aparatnomojn.
Rulu la komandojn kaj skribu tion, kion vi vidis kaj kio ŝanĝiĝis.
vgdisplay system -v
pvs
vgs
lvs -a -o+devices
lsblk -o NAME,SIZE,FSTYPE,TYPE,MOUNTPOINT
Ni ŝanĝu nian VG forigante la malnovan atakdiskon de ĝi. Anstataŭigu la ĝustan ataknomon.
vgreduce system /dev/md0
Rulu la komandojn kaj skribu tion, kion vi vidis kaj kio ŝanĝiĝis.
lsblk -o NAME,SIZE,FSTYPE,TYPE,MOUNTPOINT
pvs
vgs
Por fari la bildon pli bela, remuntu /boot al la dua ssd-disko (ssd4) kaj rulu lsblk. Kiel rezulto, la ssd3-disko ne faras
nenio devus esti muntita. Zorge kontrolu, ke la /boot diskparto ne estas malplena! ls /boot devas montri
pluraj dosieroj kaj dosierujoj. Studu kio estas konservita en ĉi tiu sekcio kaj skribu, kiu dosierujo respondecas pri kio.
7) forigu ssd3-diskon kaj aldonu ssd5, hdd1, hdd2 laŭ la teknikaj specifoj priskribitaj supre, rezultigante:
ssd4 - la unua nova ssd
ssd5 - dua nova ssd
hdd1 - unua nova hdd
hdd2 - dua nova hdd
9) Ni restarigu la funkciadon de la ĉefa ataka tabelo:
kopiu la sekciotabelon, anstataŭigante la ĝustajn diskojn:
sfdisk -d /dev/XXX | sfdisk /dev/YYY
Bonvolu noti, ke kiam ni kopiis la diskpartigan tabelon de la malnova disko, ŝajnis ke la nova grandeco
ne uzas la tutan malmoladiskan kapaciton.
Sekve, baldaŭ ni devos regrandigi ĉi tiun sekcion kaj pligrandigi la atakon.
Vidu mem per rulado de la komando:
lsblk -o NAME,SIZE,FSTYPE,TYPE,MOUNTPOINT
10) kopiu la ekdiskon /boot de ssd4 al ssd5
dd if=/dev/XXX of=/dev/YYY
11) Instalu grub sur la nova disko (ssd5)
12) regrandigi la duan sekcion de la ssd5-disko
rulu la diskpartigan ilon:
fdisk /dev/XXX
enigu la d-klavon por forigi ekzistantan sekcion (elektu 2)
enigu la ŝlosilon n por krei novan sekcion
enigu la klavon p por indiki, ke la sekciotipo estas "primara"
enigu klavon 2 por ke la nova sekcio havu la duan numeron
Unua sektoro: premu enen por akcepti la aŭtomate kalkulitan grandecon de la komenco de la sekcio
Lasta sektoro: premu enen por akcepti la aŭtomate kalkulitan grandecon de la fino de la subdisko
enigu la l-klavon por vidi liston de ĉiuj eblaj disktipoj kaj trovi Linuksan raid aŭton en ĝi
enigu la t-klavon por ŝanĝi la tipon de la kreita sekcio (2) kaj enigu la nombron trovitan en la antaŭa paŝo.
enigu la w-klavon por skribi la ŝanĝon al disko.
12) relegu la sekciotabelon kaj kontrolu la rezulton
aldonu novan diskon al la nuna ataka tabelo (ne forgesu anstataŭigi la ĝustajn diskojn)
mdadm --manage /dev/md63 --add /dev/sda2
Ni vastigu la nombron da diskoj en nia tabelo al 2:
mdadm --grow /dev/md63 --raid-devices=2
Rigardu la rezulton: ni havas 2 tabelojn markitajn, sed ambaŭ sekcioj inkluzivitaj en ĉi tiu tabelo havas malsamajn grandecojn.
lsblk -o NAME,SIZE,FSTYPE,TYPE,MOUNTPOINT
13) pliigu la subdiskon en la disko ssd4
rulu la diskpartigan ilon:
fdisk /dev/XXX
enigu la d-klavon por forigi ekzistantan sekcion (elektu 2)
enigu la ŝlosilon n por krei novan sekcion
enigu la klavon p por indiki, ke la sekciotipo estas "primara"
enigu klavon 2 por ke la nova sekcio havu la duan numeron
Unua sektoro: premu enen por akcepti la aŭtomate kalkulitan grandecon de la komenco de la sekcio
Lasta sektoro: premu enen por akcepti la aŭtomate kalkulitan grandecon de la fino de la subdisko
Ĉe la fino de la markado, elektu Ne por lasi la subskribon de la membreco de la sekcio en la tabelo.
enigu la w-klavon por skribi la ŝanĝon al disko.
12) relegu la sekciotabelon kaj kontrolu la rezulton
Ni kreu logikan volumon kun la grandeco de la tuta libera spaco kaj nomu ĝin val_log
lvcreate -l 100%FREE -n var_log data # lvs # посмотрим результат
formi la kreitan diskparton en ext4
mkfs.ext4 /dev/mapper/data-var_log
ni vidu la rezulton
lsblk
17) translokigi protokolojn de la malnova sekcio al la nova
provizore instali novan protokolon
mount /dev/mapper/data-var_log /mnt
ni sinkronigu la subdiskojn
apt install rsync
rsync -avzr /var/log/ /mnt/
Ni eksciu, kiuj procezoj nuntempe funkcias en /var/log
apt install lsof
lsof | grep '/var/log'
haltigi ĉi tiujn procezojn
systemctl stop rsyslog.service syslog.socket
plenumi finan sinkronigon de sekcioj (datenoj kiuj eble ŝanĝiĝis ekde la lasta sinkronigo)
rsync -avzr /var/log/ /mnt/
interŝanĝi la sekciojn
umount /mnt
umount /var/log
mount /dev/mapper/data-var_log /var/log
ni kontrolu kio okazis
lsblk
18) Redaktu /etc/fstab
fstab - dosiero kiu registras la regulojn per kiuj sekcioj estos muntitaj ĉe lanĉo
nia tasko estas trovi la linion kie /var/log estas muntita kaj ripari la aparaton system-log sur data-var_log
19) La plej grava afero en ĉi tiu etapo estas ne forgesi ŝanĝi la radelon (ekzemple ext4). Ĉar kiel ajn ni ŝanĝas iun ajn atakon, lvm, ĝis la FS sur la subdisko estas sciigita, ke la diskparto nun ŝanĝiĝis, ni ne povos uzi la novan spacon. Uzu la komandon resize2fs ŝanĝi la FS.
20) Fina akordo
Ni rekomencu. Se vi faris ĉion ĝuste, vi estos rekondukita al via OS (ĉi tio estas necesa por certigi, ke ĉio funkcias. Ĉi tiu paŝo havas neniun signifon krom memtestado)
kontrolu, ke ĉio, kion ni volis fari, estas efektive farita:
pvs
lvs
vgs
lsblk
cat /proc/mdstat
21) [LOVE] Sekvu la paŝojn
rekomencu premante F12 por specifi malsamajn diskojn dum lanĉado por certigi, ke vi povas lanĉi
de iu el la ssd-diskoj, por ke ni ne timu malsukceson de unu el ili
nun vi havas nenecesan LV ensaluti VG-sistemon. Asignu ĉi tiun spacon inter radiko aŭ var, sed anstataŭ uzi
dezajnoj 100% SENPAGA specifu la grandecon mane uzante la -L-klavon:
-L 500M
riparu la problemon, ke /boot situas sur du sekcioj sen sinkronigado, ne necesas fari tion ĝuste,
ĝi estas aldonita ĉi tie kiel ekzemplo. Ne forgesu unue kopii la enhavon de /boot ie.
kreu novan atakon kaj inkludu sda1, sda2 en ĝi
inkluzivu ĉi tiujn subdiskojn en la ekzistantan atakon kaj restarigu /boot al la ĉefa atako, sed sen munti ĝin.