Лабораторија: поставување lvm, рација на Linux

Мала дигресија: овој 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 порти

Лабораторија: поставување lvm, рација на Linux

2) Започнете со инсталирање на Linux и кога ќе дојдете до избор на хард дискови, направете го следново:

  • Начин на партиција: рачен, по што треба да ја видите оваа слика:
    Лабораторија: поставување lvm, рација на Linux

  • Поставување посебна партиција за /boot: Изберете го првиот диск и креирајте нова табела за партиции на неа

    • Големина на партиција: 512 М
    • Точка на монтирање: /boot
    • Повторете ги поставките за вториот диск, но бидејќи не можете да монтирате / подигате двапати во исто време, изберете точка за монтирање: нема, на крајот ќе го добиете следново (слика со заглавување, премногу мрзливо да ја повторите):
      Лабораторија: поставување lvm, рација на Linux

  • Поставување RAID:

    • Изберете слободен простор на првиот диск и конфигурирајте го типот на партиција како физички волумен за RAID
    • Изберете „Готово со поставување на партицијата“
    • Повторете ги точно истите поставки за вториот диск, што резултира со следново:
      Лабораторија: поставување lvm, рација на Linux
    • Изберете „Конфигурирај софтверски RAID“
    • Креирајте MD уред
    • Софтверски RAID тип на уред: Изберете пресликана низа
    • Активни уреди за RAID XXXX низата: изберете ги двата диска
    • Резервни уреди: Оставете 0 како стандардно
    • Активни уреди за низата RAID XX: изберете ги партициите што сте ги создале под рација
    • Заврши
    • Како резултат на тоа, треба да добиете ваква слика:
      Лабораторија: поставување lvm, рација на Linux

  • Конфигурирање на LVM: Изберете Конфигурирај го менаџерот за логичен волумен

    • Задржете го тековниот распоред на партицијата и конфигурирајте го LVM: Да
    • Создадете група за јачина на звук
    • Име на групата за волумен: систем
    • Уреди за новата група за волумен: изберете го креираниот RAID
    • Создадете логичен волумен
    • логично име на волумен: корен
    • логичка големина: 25 од големината на вашиот диск
    • Создадете логичен волумен
    • логично име на волумен: var
    • логичка големина: 25 од големината на вашиот диск
    • Создадете логичен волумен
    • име на логички волумен: дневник
    • логичка големина: 15 од големината на вашиот диск
    • Со избирање на детали за конфигурацијата на екранот, треба да ја добиете следната слика:
      Лабораторија: поставување lvm, рација на Linux
    • Откако ќе завршите со поставувањето на LVM, треба да го видите следново:
      Лабораторија: поставување lvm, рација на Linux

  • Распоред на партиција: еден по еден, изберете го секој волумен создаден во LVM и распоредете ги, на пример, за root вака:

    • Користете како: ext4
    • точка на монтирање: /
    • Резултатот од обележувањето на root партицијата треба да изгледа вака:
      Лабораторија: поставување lvm, рација на Linux
    • повторете ја операцијата за партиционирање за var и log, избирајќи ги соодветните точки за монтирање (/var и /var/log рачно внесени), добивајќи го следниов резултат:
      Лабораторија: поставување lvm, рација на Linux
    • Изберете Заврши партиционирање
    • Ќе ви бидат поставени неколку прашања за фактот дека сè уште имате немонтирана партиција и swap не е конфигурирана. На двете прашања треба да се одговори негативно.

  • Конечниот резултат треба да изгледа вака:
    Лабораторија: поставување lvm, рација на Linux
    3) Завршете ја инсталацијата на ОС со инсталирање на grub на првиот уред (sda) и подигнете го системот.
    4) Копирајте ја содржината на партицијата /boot од sda-диск (ssd1) на sdb-уредот (ssd2)

    dd if=/dev/sda1 of=/dev/sdb1

    5) Инсталирајте grub на вториот уред:

  • погледнете ги дисковите во системот:

    fdisk -l
    lsblk -o NAME,SIZE,FSTYPE,TYPE,MOUNTPOINT

  • Наведете ги сите дискови што ви ги дала претходната команда и опишете за каков диск станува збор

  • Пронајдете го уредот каде што не е инсталиран 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:

    cat /proc/mdstat
    fdisk -l
    lsblk -o NAME,SIZE,FSTYPE,TYPE,MOUNTPOINT

    3) Имате среќа - вашите шефови ви дозволија да купите неколку нови дискови:

    2 SATA со голем капацитет за одамна задоцнетата задача за преместување на партицијата со логови на посебен диск

    2 SSD дискови за замена на умрениот, како и за замена на оној што сеуште функционира.

    Ве молиме имајте предвид дека корпата на серверот поддржува само инсталирање на 4 дискови истовремено,
    затоа, не можете да ги додадете сите дискови одеднаш.

    Изберете капацитет на HDD 2 пати поголем од SSD.
    Капацитетот на SSD е 1,25 пати поголем од поранешниот SSD.

    4) Додадете еден нов ssd-диск, нарекувајќи го ssd4, и по додавањето, проверете што се случило:

    fdisk -l
    lsblk -o NAME,SIZE,FSTYPE,TYPE,MOUNTPOINT

    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 диск:

      mdadm --create --verbose /dev/md63 --level=1 --raid-devices=1 /dev/YYY

      Горенаведената команда нема да работи без да наведете посебен клуч.
      Прочитајте ја помошта и додајте го овој клуч на командата.

      Користете ја командата 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?

      Преместете ги податоците од стариот диск на новиот, користејќи ги точните имиња на уредите.

      pvmove -i 10 -n /dev/system/root /dev/md0 /dev/md63 

      Повторете ја операцијата за сите логички волумени

      Извршете ги командите и запишете што сте виделе и што се сменило.

      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) Проверете што се случило по додавањето дискови:

      fdisk -l
      lsblk -o NAME,SIZE,FSTYPE,TYPE,MOUNTPOINT

      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) повторно прочитајте ја табелата со партиции и проверете го резултатот

        partx -u /dev/XXX
        lsblk -o NAME,SIZE,FSTYPE,TYPE,MOUNTPOINT

        додадете нов диск во тековната низа за рација (не заборавајте да ги замените точните дискови)

        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) повторно прочитајте ја табелата со партиции и проверете го резултатот

        partx -u /dev/XXX
        lsblk -o NAME,SIZE,FSTYPE,TYPE,MOUNTPOINT

        Ве молиме имајте предвид дека сега партициите 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-дискови.

          • ајде да видиме какви имиња имаат новите хард дискови
            fdisk -l
          • ајде да создадеме низа за рација
            mdadm --create /dev/md127 --level=1 --raid-devices=2 /dev/sdc /dev/sdd
          • ајде да создадеме ново 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 на главната рација, но без да ја монтирате.

Извор: www.habr.com

Додадете коментар