Мала дигресија: овој LR е синтетички.
Некои од задачите опишани овде може да се направат многу поедноставно, но бидејќи задачата на l/r е да се запознае
со raid и lvm функционалност, некои операции се вештачки комплицирани.
Барања за алатки за изведување LR:
Алатки за виртуелизација како што е Virtualbox
Слика за инсталација на Linux, на пример Дебиан9
Достапност на Интернет за преземање неколку пакети
Поврзете се преку ssh на инсталираниот VM (опционално)
ВНИМАНИЕ
Оваа лабораториска работа е поврзана со таква суптилна работа како што е безбедноста на податоците - ова е област каде што
што ви овозможува да ги изгубите сите ваши податоци поради најмалата грешка - една дополнителна буква или број.
Бидејќи се занимавате со лабораториски работи, не сте во опасност, освен што ќе треба да почнете да го правите одново.
Во реалниот живот, сè е многу посериозно, затоа треба да ги внесете имињата на дисковите многу внимателно, разбирајќи
што точно правите со тековната команда и со кои дискови работите.
Втората важна точка е именувањето на дискови и партиции: во зависност од ситуацијата, броевите на дискот може да се разликуваат
од оние вредности што се претставени во командите во лабораториската работа.
Така, на пример, ако го отстраните sda-дискот од низата и потоа додадете нов диск, новиот диск ќе се прикаже
на систем со име sda. Ако се рестартирате пред да додадете нов диск, тогаш новиот
дискот ќе се вика sdb, а стариот ќе се вика sda
Лабораторијата мора да се работи како суперкорисник (root) како што бараат повеќето команди
зголемени привилегии и нема смисла постојано да се зголемуваат привилегиите преку судо
Материјали за проучување
RAID
LVM
Именување на диск во Linux OS
Што е дел
Што е преградна табела и каде се чува?
Што е груб
Користени комунални услуги
1) погледнете ги информациите за дискот
lsblk -o ИМЕ,ГОЛЕМИНА,FSTYPE,TYPE,MOUNTPOINT
fdisk -l
2) гледање информации и работа со LVM
pvs
pveextend
pvccreate
pvresize
итн
vgreduce
лв
lveextend
3) гледање информации и работа со RAID
мачка /proc/mdstat
мадам
4) точки за монтирање
се качи
сума
мачка /etc/fstab
мачка /etc/mtab
5) повторна партиција на дискот
fdisk /dev/XXX
6) копирање на партиции
дд ако=/dev/xxx од=/dev/ггг
7) работа со партиционата табела
делкс
sfdisk
mkfs.ext4
8) работа со подигнувачот
grub-инсталирај /dev/XXX
ажурирање-груб
9) различно
лсоф
apt
rsync
Лабораториската работа се состои од 3 дела:
поставување на работен систем користејќи lvm, raid
емулација на еден од дефектите на дискот
замена на дискови во лет, додавање нови дискови и поместување на партиции.
Задача 1 (инсталација на ОС и конфигурација на LVM, RAID)
1) Создадете нова виртуелна машина, давајќи ѝ ги следните карактеристики:
1 GB RAM
1 процесор
2 HDD (именувајте ги ssd1, ssd2 и доделете еднакви големини, проверете ги полињата за жешка размена и ssd)
SATA контролер конфигуриран за 4 порти
2) Започнете со инсталирање на Linux и кога ќе дојдете до избор на хард дискови, направете го следново:
Начин на партиција: рачен, по што треба да ја видите оваа слика:
Поставување посебна партиција за /boot: Изберете го првиот диск и креирајте нова табела за партиции на неа
Големина на партиција: 512 М
Точка на монтирање: /boot
Повторете ги поставките за вториот диск, но бидејќи не можете да монтирате / подигате двапати во исто време, изберете точка за монтирање: нема, на крајот ќе го добиете следново (слика со заглавување, премногу мрзливо да ја повторите):
Поставување RAID:
Изберете слободен простор на првиот диск и конфигурирајте го типот на партиција како физички волумен за RAID
Изберете „Готово со поставување на партицијата“
Повторете ги точно истите поставки за вториот диск, што резултира со следново:
Изберете „Конфигурирај софтверски RAID“
Креирајте MD уред
Софтверски RAID тип на уред: Изберете пресликана низа
Активни уреди за RAID XXXX низата: изберете ги двата диска
Резервни уреди: Оставете 0 како стандардно
Активни уреди за низата RAID XX: изберете ги партициите што сте ги создале под рација
Заврши
Како резултат на тоа, треба да добиете ваква слика:
Конфигурирање на LVM: Изберете Конфигурирај го менаџерот за логичен волумен
Задржете го тековниот распоред на партицијата и конфигурирајте го LVM: Да
Создадете група за јачина на звук
Име на групата за волумен: систем
Уреди за новата група за волумен: изберете го креираниот RAID
Создадете логичен волумен
логично име на волумен: корен
логичка големина: 25 од големината на вашиот диск
Создадете логичен волумен
логично име на волумен: var
логичка големина: 25 од големината на вашиот диск
Создадете логичен волумен
име на логички волумен: дневник
логичка големина: 15 од големината на вашиот диск
Со избирање на детали за конфигурацијата на екранот, треба да ја добиете следната слика:
Откако ќе завршите со поставувањето на LVM, треба да го видите следново:
Распоред на партиција: еден по еден, изберете го секој волумен создаден во LVM и распоредете ги, на пример, за root вака:
Користете како: ext4
точка на монтирање: /
Резултатот од обележувањето на root партицијата треба да изгледа вака:
повторете ја операцијата за партиционирање за var и log, избирајќи ги соодветните точки за монтирање (/var и /var/log рачно внесени), добивајќи го следниов резултат:
Изберете Заврши партиционирање
Ќе ви бидат поставени неколку прашања за фактот дека сè уште имате немонтирана партиција и swap не е конфигурирана. На двете прашања треба да се одговори негативно.
Конечниот резултат треба да изгледа вака:
3) Завршете ја инсталацијата на ОС со инсталирање на grub на првиот уред (sda) и подигнете го системот.
4) Копирајте ја содржината на партицијата /boot од sda-диск (ssd1) на sdb-уредот (ssd2)
Наведете ги сите дискови што ви ги дала претходната команда и опишете за каков диск станува збор
Пронајдете го уредот каде што не е инсталиран grub и извршете ја оваа инсталација: grub-install /dev/sdb
погледнете ги информациите за тековната рација со командата cat /proc/mdstat и запишете го она што го гледате.
погледнете го излезот од командите: pvs, vgs, lvs, mount и запишете што точно видовте
Опишете со свои зборови што направивте и каков резултат добивте од задачата.
По завршувањето на оваа задача, се препорачува да зачувате резервна копија од папката или да направите резервна копија на виртуелната машина
кутија за скитници: https://t.me/bykvaadm/191
Резултат: Виртуелна машина со дискови ssd1, ssd2
Задача 2 (Емулирање на дефект на еден од дисковите)
1) Ако сте го означиле полето за жешка размена, тогаш можете да ги избришете дисковите во лет
Избришете го дискот ssd1 во својствата на машината
Најдете го директориумот каде што се зачувани датотеките на вашата виртуелна машина и избришете го ssd1.vmdk
2) Проверете дали вашата виртуелна машина сè уште работи
3) Рестартирајте ја виртуелната машина и проверете дали сè уште работи
4) проверете го статусот на RAID низата: cat /proc/mdstat
5) додадете нов диск со иста големина во интерфејсот на VM и именувајте го ssd3
6) ги извршува операциите:
види дека новиот диск пристигнал во системот користејќи fdisk -l
копирајте ја табелата за партиции од стариот диск на новиот: sfdisk -d /dev/XXXX | sfdisk /dev/ГГГ
погледнете го резултатот користејќи fdisk -l
Додајте нов диск во низата за рација: mdadm — управувајте со /dev/md0 — додадете /dev/YYY
Погледнете го резултатот: мачка /proc/mdstat. Треба да видите дека синхронизацијата започна
7) Сега треба рачно да ги синхронизирате партициите што не се дел од RAID.
За да го направите ова, ќе ја користиме алатката dd, копирајќи од дискот „во живо“ на новиот што неодамна сте го инсталирале
dd if=/dev/XXX of=/dev/YYY
8) Откако ќе заврши синхронизацијата, инсталирајте grub на новиот диск
9) Рестартирајте го VM за да бидете сигурни дека сè работи
Опишете со свои зборови што направивте и каков резултат добивте од задачата.
Резултат: дискот ssd1 беше отстранет, дискот ssd2 беше зачуван, дискот ssd3 беше додаден.
Задача 3 (Додавање нови дискови и преместување партиција)
Ова е најкомплексната и најобемната задача од сите презентирани.
Проверете многу внимателно што правите и со кои дискови и партиции.
Се препорачува да направите копија пред да ја стартувате.
Оваа задача е независна од задачата бр. 2, може да се изврши по задачата бр. 1, приспособена за имиња на дискови.
Вториот дел од оваа лабораториска задача треба да доведе до точно иста состојба што беше по завршувањето на првиот дел.
За да ви ја олеснам работата, можам да препорачам физички да не ги отстранувате дисковите од машината домаќин, туку само
исклучете ги во својствата на машината. Од гледна точка на ОС во VM ќе изгледа сосема исто, но можете
ако нешто се случи, поврзете го дискот назад и продолжете со работата со превртување на неколку точки, ако
имате проблеми. На пример, можеби сте го направиле тоа погрешно или сте заборавиле да ја копирате партицијата /boot на новиот диск.
Можам само да ве советувам неколку пати да проверите со кои дискови и партиции работите, или уште подобро
Запишете ја на парче хартија кореспонденцијата помеѓу дисковите, партициите и бројот на „физичкиот“ диск. Прекрасно и јасно дрво
тим нерешени lsblk, користете го што е можно почесто за да анализирате што сте направиле и што треба да се направи.
За приказната...
Замислете дека вашиот сервер работи долго време на 2 SSD дискови, кога одеднаш ...
1) Симулирајте неуспех на дискот ssd2 со отстранување на дискот од својствата на VM и рестартирање
2) Погледнете го моменталниот статус на дисковите и RAID:
3) Имате среќа - вашите шефови ви дозволија да купите неколку нови дискови:
2 SATA со голем капацитет за одамна задоцнетата задача за преместување на партицијата со логови на посебен диск
2 SSD дискови за замена на умрениот, како и за замена на оној што сеуште функционира.
Ве молиме имајте предвид дека корпата на серверот поддржува само инсталирање на 4 дискови истовремено,
затоа, не можете да ги додадете сите дискови одеднаш.
Изберете капацитет на HDD 2 пати поголем од SSD.
Капацитетот на SSD е 1,25 пати поголем од поранешниот SSD.
4) Додадете еден нов ssd-диск, нарекувајќи го ssd4, и по додавањето, проверете што се случило:
5) Пред сè, треба да се грижите за безбедноста на податоците на стариот диск.
Овој пат ќе пренесуваме податоци користејќи LVM:
Пред сè, треба да ја копирате табелата со датотеки од стариот диск на новиот:
sfdisk -d /dev/XXX | sfdisk /dev/YYY
Заменете ги точните дискови за x,y и дознајте што прави оваа команда.
Извршете го lsblk -o NAME, SIZE, FSTYPE, TYPE, MOUNTPOINT и споредете го неговиот излез со претходниот повик.
Што се смени?
користете ја командата dd за да ги копирате податоците /boot на новиот диск
dd if=/dev/XXX of=/dev/YYY
ако /boot остана монтирано на стариот диск, треба повторно да се монтира на живиот диск:
mount | grep boot # смотрим куда смонтирован диск
lsblk # смотрим какие диски есть в системе и смотрим есть ли диск, полученный из предыдущего пункта
umount /boot # отмонтируем /boot
mount -a # выполним монтирование всех точек согласно /etc/fstab.
# Поскольку там указана точка монтирования /dev/sda, то будет выполнено корректное перемонтирование на живой диск
Инсталирајте го подигнувачот на новиот ssd-диск
grub-install /dev/YYY
Зошто ја правиме оваа операција?
креирајте нова рација низа вклучувајќи само еден нов ssd диск:
Горенаведената команда нема да работи без да наведете посебен клуч.
Прочитајте ја помошта и додајте го овој клуч на командата.
Користете ја командата cat /proc/mdstat за да го проверите резултатот од вашата операција. Што се смени?
Извршете го lsblk -o NAME, SIZE, FSTYPE, TYPE, MOUNTPOINT и споредете го неговиот излез со претходниот повик.
Што се смени?
6) Следниот чекор е да го конфигурирате LVM
извршете ја командата pvs за да видите информации за тековните физички волумени
креирајте нов физички волумен вклучувајќи ја претходно креираната RAID низа:
pvcreate /dev/md63
Извршете го lsblk -o NAME, SIZE, FSTYPE, TYPE, MOUNTPOINT и споредете го неговиот излез со претходниот повик.
Што се смени?
Повторно извршете ја командата pvs. Што се смени?
Ајде да ја зголемиме големината на системот Volume Group користејќи ја следнава команда:
vgextend system /dev/md63
Извршете ги командите и запишете што сте виделе и што се сменило.
vgdisplay system -v
pvs
vgs
lvs -a -o+devices
На кој физички диск моментално се наоѓаат LV var,log,root?
Преместете ги податоците од стариот диск на новиот, користејќи ги точните имиња на уредите.
Извршете ги командите и запишете што сте виделе и што се сменило.
vgdisplay system -v
pvs
vgs
lvs -a -o+devices
lsblk -o NAME,SIZE,FSTYPE,TYPE,MOUNTPOINT
Ајде да го промениме нашиот VG со отстранување на стариот раид диск од него. Заменете го точното име за рација.
vgreduce system /dev/md0
Извршете ги командите и запишете што сте виделе и што се сменило.
lsblk -o NAME,SIZE,FSTYPE,TYPE,MOUNTPOINT
pvs
vgs
За да ја направите сликата поубава, повторно монтирајте / подигнете на вториот ssd диск (ssd4) и стартувајте lsblk. Како резултат на тоа, ssd3 дискот не
ништо не треба да се монтира. Внимателно проверете дали партицијата /boot не е празна! ls /boot мора да покаже
неколку датотеки и папки. Проучете што е зачувано во овој дел и запишете кој директориум за датотеки е одговорен за што.
7) отстранете го ssd3 дискот и додадете ssd5, hdd1, hdd2 според техничките спецификации опишани погоре, што резултира со:
ssd4 - првиот нов ssd
ssd5 - втор нов ssd
hdd1 - првиот нов HDD
hdd2 - втор нов HDD
8) Проверете што се случило по додавањето дискови:
9) Да ја вратиме работата на главната низа за рација:
копирајте ја табелата со партиции, заменувајќи ги точните дискови:
sfdisk -d /dev/XXX | sfdisk /dev/YYY
Ве молиме имајте предвид дека кога ја копиравме табелата за партиции од стариот диск, се чинеше дека е со нова големина
не го користи целиот капацитет на хард дискот.
Затоа, наскоро ќе треба да ја промениме големината на оваа партиција и да ја прошириме рацијата.
Уверете се сами со извршување на командата:
lsblk -o NAME,SIZE,FSTYPE,TYPE,MOUNTPOINT
10) копирајте ја партицијата за подигање /boot од ssd4 на ssd5
dd if=/dev/XXX of=/dev/YYY
11) Инсталирајте grub на новиот диск (ssd5)
12) промена на големината на втората партиција на ssd5 дискот
стартувајте ја алатката за партиционирање на дискот:
fdisk /dev/XXX
внесете го копчето d за да избришете постоечка партиција (изберете 2)
внесете го копчето n за да креирате нова партиција
внесете го копчето p за да покажете дека типот на партицијата е „примарен“
внесете го копчето 2 така што новата партиција го има вториот број
Прв сектор: притиснете enter за да ја прифатите автоматски пресметаната големина на почетокот на партицијата
Последен сектор: притиснете enter за да ја прифатите автоматски пресметаната големина на крајот на партицијата
внесете го копчето l за да видите список со сите можни типови партиции и да пронајдете Linux raid auto во него
внесете го копчето t за да го промените типот на креираната партиција (2) и внесете го бројот пронајден во претходниот чекор.
внесете го копчето w за да ја напишете промената на дискот.
12) повторно прочитајте ја табелата со партиции и проверете го резултатот
додадете нов диск во тековната низа за рација (не заборавајте да ги замените точните дискови)
mdadm --manage /dev/md63 --add /dev/sda2
Ајде да го прошириме бројот на дискови во нашата низа на 2:
mdadm --grow /dev/md63 --raid-devices=2
Погледнете го резултатот: имаме означени 2 низи, но двата дела вклучени во оваа низа имаат различни големини
lsblk -o NAME,SIZE,FSTYPE,TYPE,MOUNTPOINT
13) зголемете ја големината на партицијата на дискот ssd4
стартувајте ја алатката за партиционирање на дискот:
fdisk /dev/XXX
внесете го копчето d за да избришете постоечка партиција (изберете 2)
внесете го копчето n за да креирате нова партиција
внесете го копчето p за да покажете дека типот на партицијата е „примарен“
внесете го копчето 2 така што новата партиција го има вториот број
Прв сектор: притиснете enter за да ја прифатите автоматски пресметаната големина на почетокот на партицијата
Последен сектор: притиснете enter за да ја прифатите автоматски пресметаната големина на крајот на партицијата
На крајот од обележувањето, изберете Не за да го оставите потписот на членството на партицијата во низата.
внесете го копчето w за да ја напишете промената на дискот.
12) повторно прочитајте ја табелата со партиции и проверете го резултатот
Ве молиме имајте предвид дека сега партициите sda2, sdc2 имаат големина > од големината на уредот за рација.
13) во оваа фаза големината на рацијата сега може да се прошири
mdadm --grow /dev/md63 --size=max
lsblk -o NAME,SIZE,FSTYPE,TYPE,MOUNTPOINT # check result
Прегледајте го lsblk и забележете што се сменило
14) Сепак, иако ја сменивме големината на рацијата, самите големини на vg root,var,log не се променија
погледнете ја големината на PV:
pvs
Ајде да ја прошириме големината на нашиот PV:
pvresize /dev/md63
погледнете ја големината на PV:
pvs
15) Додајте ја новопојавената локација VG var,root
lvs # посмотрим сколько сейчас размечено
lvextend -l +50%FREE /dev/system/root
lvextend -l +100%FREE /dev/system/var
lvs # проверьте что получилось
Во овој момент, завршивте со мигрирање на главната низа на новите дискови. работата со ssd1, ssd2 е завршена
16) Нашата следна задача е да го преместиме /var/log на нови дискови, за ова ќе создадеме нова низа и lvm на hdd-дискови.
ајде да видиме какви имиња имаат новите хард дискови
ајде да создадеме ново PV на рацијата од големи дискови
pvcreate data /dev/md127
Ајде да создадеме група во оваа PV наречена податоци
vgcreate data /dev/md127
Ајде да создадеме логичен волумен со големината на целиот слободен простор и да го наречеме val_log
lvcreate -l 100%FREE -n var_log data # lvs # посмотрим результат
форматирајте ја креираната партиција во ext4
mkfs.ext4 /dev/mapper/data-var_log
да го видиме резултатот
lsblk
17) пренос на податоци од дневникот од старата партиција на новата
привремено инсталирајте нова меморија за дневници
mount /dev/mapper/data-var_log /mnt
ајде да ги синхронизираме партициите
apt install rsync
rsync -avzr /var/log/ /mnt/
Ајде да дознаеме кои процеси моментално се извршуваат во /var/log
apt install lsof
lsof | grep '/var/log'
стопирајте ги овие процеси
systemctl stop rsyslog.service syslog.socket
изврши конечна синхронизација на партиции (податоци кои можеби се променети од последната синхронизација)
rsync -avzr /var/log/ /mnt/
заменете ги деловите
umount /mnt
umount /var/log
mount /dev/mapper/data-var_log /var/log
ајде да провериме што се случило
lsblk
18) Уреди /etc/fstab
fstab - датотека што ги евидентира правилата според кои партициите ќе се монтираат при подигање
нашата задача е да ја пронајдеме линијата каде што е монтиран /var/log и да го поправиме уредот system-log на data-var_log
19) Најважно во оваа фаза е да не заборавите да ја смените табелата радела (ext4, на пример). Бидејќи како и да смениме рација, lvm, додека FS на партицијата не биде известен дека големината на партицијата сега е променета, нема да можеме да го користиме новиот простор. Користете ја командата resize2fs за промена на FS.
20) Завршен акорд
Ајде да се рестартираме. Ако сте направиле сè правилно, ќе бидете вратени во вашиот ОС (ова е неопходно за да бидете сигурни дека сè работи. Овој чекор нема никакво значење освен само-тестирање)
проверете дали сè што сакавме да направиме е навистина направено:
pvs
lvs
vgs
lsblk
cat /proc/mdstat
21) [ФАКТИВНО] Следете ги чекорите
рестартирајте со притискање на F12 за да наведете различни дискови при подигнување за да бидете сигурни дека можете да се подигнете
од кој било од ssd дисковите, за да не се плашиме од дефект на еден од нив
сега имате непотребно најавување на LV во VG системот. Доделете го овој простор помеѓу root или var, но наместо да го користите
дизајни 100% БЕСПЛАТНО наведете ја големината рачно користејќи го копчето -L:
-L 500M
поправете го проблемот што /boot се наоѓа на две партиции без синхронизација, нема потреба да го правите тоа правилно,
тоа е додадено овде како пример. Не заборавајте прво да ја копирате содржината на /boot некаде.
креирајте нова рација и вклучете sda1,sda2 во неа
вклучете ги овие партиции во постоечката рација и вратете го /boot на главната рација, но без да ја монтирате.