Dodawanie dysków za pomocą LVM

26

Jestem pewien, że to zostało odebrane gdzieś tu wcześniej (Znalazłem nawet Kinda przewodnik tutaj , ale wydawał się być nieco wypryskami i niekompletny), ale zastanawiałem się, czy ktoś mógłby mi albo przynajmniej mi punkt w dobrym kierunku, aby pomóc osiągnąłem to, co próbuję zrobić.

Zasadniczo zainstalowałem Ubuntu 14.04 (przez „Z przewodnikiem - użyj całego dysku i skonfiguruj LVM”) na dysku 20 GB. Następnie fizycznie dodałem czysty dysk o pojemności 80 GB do komputera, który wykrywa jako „sdb”.

Zasadniczo moje pytanie brzmi: chcę móc dodać / połączyć przydzieloną ilość miejsca z nowego dysku (80 GB) na moim komputerze, aby zamiast pokazywać dwa dyski (20 GB i 80 GB), po prostu pokazuje jeden dysk (100 GB) . Nie martwię się o RAID ani inne specjalne dodatki.

Jestem trochę nowy w Linuksie, ale rozumiem, że muszę to zrobić przy użyciu LVM.

Jeśli jest ktoś, kto może mi pomóc lub link do pomocnego przewodnika / samouczka, byłbym bardzo wdzięczny! Nie jestem pewien, czy jest to potrzebne, ale oto moje dane wyjściowe „fdisk -l” i „/ etc / fstab”:

wyjście fdisk (skrócone):

Disk /dev/sda: 21.5 GB, 21474836480 bytes
   Device Boot      Start         End      Blocks   Id  System
/dev/sda1    *       2048      499711      248832   83  Linux
/dev/sda2          501758    41940991    20719617    5  Extended
/dev/sda5          501760    41940991    20719616   8e  Linux LVM

Disk /dev/sdb: 85.9 GB, 85899345920 bytes
Disk /dev/sdb doesn't contain a valid partition table

Disk /dev/mapper/ubuntu--vg-root: 20.4 GB, 20392706048 bytes
Disk /dev/mapper/ubuntu--vg-root doesn't contain a valid partition table

Disk /dev/mapper/ubuntu--vg-swap_1: 801 MB, 801112064 bytes
Disk /dev/mapper/ubuntu--vg-swap_1 doesn't contain a valid partition table

/ etc / fstab (skrócony):

# <file system> <mount point>   <type>  <options>       <dump>  <pass>
/dev/mapper/ubuntu--vg-root /               ext4    errors=remount-ro 0       1
# /boot was on /dev/sda1 during installation
UUID=26710773-7a64-4f34-a34e-0057cb1739d7 /boot           ext2    defaults        0       2
/dev/mapper/ubuntu--vg-swap_1 none            swap    sw              0       0
oink
źródło

Odpowiedzi:

53

Po przejrzeniu kombinacji losowych przewodników i samouczków w sieci udało mi się z powodzeniem dodać dysk do mojego komputera Ubuntu Server 14.04 i zasadniczo go skonfigurować, dzięki czemu mam wiele dysków twardych wyświetlanych jako jeden dysk. Aby to zrobić, użyłem LVM.

Aby pomóc każdemu, kto może chcieć to zrobić w pewnym momencie, opublikuję tutaj, co zrobiłem.


Kroki te zakładają, że zasadniczo zaczynasz od zera, z wyjątkiem tego, że już zainstalowałeś Ubuntu na swoim komputerze (poprzez „Przewodnik - użyj całego dysku i skonfiguruj LVM”) i fizycznie dodałeś dodatkowy dysk. Te kroki mogą zadziałać, jeśli masz dane na komputerze, ale nie jestem pewien, czy byłoby to bezpieczne.

Te polecenia zakładają następujące informacje i będą się różnić w zależności od konfiguracji:

  • Twój nowy dysk to „sdb”
    • Można to znaleźć, uruchamiając ls /dev/sd*
  • Twoja nazwa grupy woluminów to „ubuntu-vg”
    • Można to znaleźć, uruchamiając vgdisplay
  • Że ścieżka logicznego woluminu to „/ dev / ubuntu-vg / root”
    • Można to znaleźć, uruchamiając lvdisplay
  • Twój nowy dysk ma 20 GB
    • Mam nadzieję, że wiesz, jak duży jest ten dysk.

  1. Zainstaluj Menedżera woluminów logicznych (może to być konieczne lub nie).

    sudo apt-get install system-config-lvm
    
  2. Konwertuj nowy dysk na wolumin fizyczny (w tym przypadku nowym dyskiem jest „sdb”).

    sudo pvcreate /dev/sdb
    
  3. Dodaj wolumin fizyczny do grupy woluminów poprzez „vgextend”.

    sudo vgextend ubuntu-vg /dev/sdb
    
  4. Przydziel wolumin fizyczny do woluminu logicznego (zwiększ rozmiar woluminu o nowy rozmiar dysku).

    sudo lvextend -l +100%FREE /dev/ubuntu-vg/root
    
  5. Zmień rozmiar systemu plików na woluminie logicznym, aby używał dodatkowej przestrzeni.

    sudo resize2fs /dev/ubuntu-vg/root
    

Że należy to zrobić. Pięć prostych kroków! Nie musisz także restartować się. Wystarczy uruchomić, df -ha nowe miejsce na dysku powinno zostać poprawnie przydzielone, a wszelkie uruchomione aplikacje internetowe pobiorą nową ilość miejsca na dysku.

oink
źródło
2
Możesz użyć, lvextend -l +100%FREEaby rozszerzyć, aby wykorzystać całą wolną przestrzeń, zamiastlvextend -L+20G
nathancahill 13.04.15
Możesz użyć, cat /proc/partitions; /sbin/rescan-scsi-bus; cat /proc/partitionsaby znaleźć nazwę, na przykład sdb, nowo zainstalowanego dysku.
O. Jones
1
To powinno działać; jednak odradzam używanie całego dysku jako woluminu logicznego. Zamiast tego zalecam partycjonowanie dysku i utworzenie LVM w jednej lub kilku partycjach na tym dysku. Ta procedura zapewnia elastyczność w przyszłości, jeśli chcesz lub potrzebujesz w przyszłości przestrzeni innej niż LVM. Może również działać lepiej, jeśli uruchomisz narzędzie, które zakłada, że ​​wszystkie dyski są podzielone na partycje. Nie znam żadnych ważnych przykładów takich narzędzi, ale nigdy nie wiadomo, jakie założenia mogą pojawić się w przypadkowym narzędziu, które może być potrzebne lub konieczne w przyszłości.
Rod Smith
Z komentarza Rod Smitha oznacza to, że mechanicznie musisz najpierw uruchomić fdisk na / dev / sdb, przydzielić całe miejsce na nową partycję, ustawić partycję jako „Linux LVM” (typ 8e), a następnie zastąp wszystkie / dev wpisy / sdb w instrukcjach z / dev / sdb1
mtalexan
świetny przewodnik. jednak sprawdzanie dostępnych dysków jest ładniejsze lsblk. Jednak testy na RHEL7.
erikbwork,
1

Próbowałem skonfigurować duży dysk LVM w 14.04 64-bitowym komputerze stacjonarnym z napędami SATA 3X500 GB. Nie powiodło się podczas instalacji z błędami urządzenia. Znalazłem link, który stwierdza, że ​​dyski powyżej 256G stanowią limit zakresu, ale nie wiem, czy dotyczy to tutaj.

Próbowałem także skonfigurować RAID (RAID 1 / boot 300 MB, RAID 0 swap 2GB i / RAID 5. wszystko inne. Więcej awarii.

$ sudo apt-get install -y mdadm

Z opcji Live CD „Wypróbuj Ubuntu bez instalacji” nadal możesz zainstalować MDADM. Wciąż nie ma szczęścia. Wykrywanie GParted wydaje się być nieco ponownie Tahrded i nie pobiera niektórych woluminów w LVM lub niektórych woluminów w RAID / dev / mdX, chyba że wszystko ma już system plików;

$ sudo mkfs.etx4 / dev / md2

Ponadto konfiguracje RAID stanowią teraz jeszcze więcej wyzwań. Wygląda na to, że MDADM nie jest już dodawany do listy pakietów / target / usr / sbin instalacji, a zainstalowanie go tak, aby instalacja rozpoczynała się przy ponownym uruchomieniu, byłaby ogromną próbą, na którą po prostu nie mam czasu ani cierpliwości , tylko po to, aby dowiedzieć się, że kilka godzin później pracy nadal nie zaczął się na nowych hakowanych płytach głównych Windows 8 (UEFI) z powodu problemu z GRUB.

Instalowanie LVM z Ubiquity działa świetnie, dopóki nie musisz dodać więcej dysków do partycji / (w tym momencie masz bardzo dużą szansę na wysadzenie całej instalacji. Operacje zmiany rozmiaru LVM wciąż zawodzą i znów trafiasz na kwadrat 1 .

Wypróbowanie instalatora serwera 14.04 Partman oszczędza dzień.

Uruchomiłem instalator 14.04 Server, dobrze zidentyfikowałem architektury, zainstalowałem MDADM, grub został zainstalowany na wszystkich 3 dyskach i wszystko działa świetnie.

3 dyski (500 GB SATA)

3 partycje każda. Wszystkie partycje ustawione na Linux Raid w fdisk.

RAID 1 / boot, 300 MB partycji, RAID 0 swap, 2 GB partycji i RAID 5 /, 500 GB (cokolwiek pozostało).

$ sudo fdisk -l
Urządzenie Start Start Bloki ID System
/ dev / sda1 2048 616447 307200 83 Linux
/ dev / sda2 616448 4810751 2097152 83 Linux
/ dev / sda3 4810752 976773167 485981208 fd Linux raid autodetect

Blokowanie rozruchu urządzenia Początek Blokowanie identyfikatora System
/ dev / sdc1 * 2048 616447 307200 83 Linux
/ dev / sdc2 616448 4810751 2097152 83 Linux
/ dev / sdc3 4810752 976773167 485981208 fd Linux raid autodetect

Device Boot Start End Blocks Id System
/ dev / sdb1 2048 616447 307200 83 Linux
/ dev / sdb2 616448 4810751 2097152 83 Linux
/ dev / sb3 4810752 976773167 485981208 fd Linux raid autodetect
...

$ sudo ls / dev / md *
/ dev / md0 / dev / md1 / dev / md2

/ dev / md:
0 1 2

$ sudo mdadm -D / dev / md0
/ dev / md0:
Wersja: 1.2
Czas tworzenia: Śr 6 sierpnia 13:03:01 2014
Poziom nalotu: raid1
Rozmiar macierzy: 306880 (299,74 MiB 314,25 MB)
Użyty rozmiar dewelopera: 306880 (299,74 MiB 314,25 MB)
Urządzenia rajdowe : 3
Urządzenia ogółem: 3
Trwałość: Superblok jest trwały

Update Time : Mon Aug 11 19:51:44 2014  
      State : clean   

Aktywne urządzenia: 3
działające urządzenia: 3
uszkodzone urządzenia: 0
zapasowe urządzenia: 0

      Name : ubuntu:0
      UUID : 03a4f230:82f50f13:13d52929:73139517
    Events : 19

Liczba Major Minor Raid Stan urządzenia 0 8 1 0 aktywna synchronizacja / dev / sda1 1 8 17 1 aktywna synchronizacja / dev / sdb1 2 8 33 2 aktywna synchronizacja / dev / sdc1

$ sudo mdadm -D / dev / md1 / dev / md1: Wersja: 1.2 Czas tworzenia: Śr 6 sierpnia 13:03:31 2014 Poziom nalotu: raid0 Rozmiar macierzy: 6289920 (6,00 GiB 6,44 GB) Urządzenia RAID: 3 Urządzenia ogółem: 3 Trwałość: Superblok jest trwały

Czas aktualizacji: śr. 6 sierpnia 13:03:31 2014 Stan: czysty Aktywne urządzenia: 3 Działające urządzenia: 3 Awarie urządzenia: 0 Zapasowe urządzenia: 0

Chunk Size : 512K

     Name : ubuntu:1
      UUID : 9843bdd3:7de01b63:73593716:aa2cb882
    Events : 0

Liczba Major Minor Raid Stan urządzenia 0 8 2 0 aktywna synchronizacja / dev / sda2 1 8 18 1 aktywna synchronizacja / dev / sdb2 2 8 34 2 aktywna synchronizacja / dev / sdc2

$ sudo mdadm -D / dev / md2 / dev / md2: Wersja: 1.2 Czas tworzenia: Śr 6 sierpnia 13:03:50 2014 Poziom nalotu: raid5 Rozmiar tablicy: 971699200 (926.68 GiB 995,02 GB) Użyty rozmiar dewelopera: 485849600 (463,34 GiB 497.51 GB) Urządzenia rajdowe: 3 Urządzenia ogółem: 3 Trwałość: Superblok jest trwały

Czas aktualizacji: Pon 11 sierpnia 19:54:49 2014 Stan: aktywny Urządzenia aktywne: 3 Urządzenia robocze: 3 Urządzenia uszkodzone: 0 Urządzenia zapasowe: 0

    Layout : left-symmetric
Chunk Size : 512K

      Name : ubuntu:2
      UUID : 6ead2827:3ef088c5:a4f9d550:8cd86a1a
    Events : 14815

Liczba Major Minor Raid Stan urządzenia 0 8 3 0 aktywna synchronizacja / dev / sda3 1 8 19 1 aktywna synchronizacja / dev / sdb3 3 8 35 2 aktywna synchronizacja / dev / sdc3

$ sudo cat / etc / fstab
'# / etc / fstab: informacje o statycznym systemie plików.'
„#”
„# Użyj„ blkid ”, aby wydrukować uniwersalnie unikalny identyfikator urządzenia„
”; może to być użyte z UUID = jako bardziej niezawodny sposób na nazwanie urządzeń
#, który działa nawet jeśli dyski zostaną dodane i usunięte. Zobacz fstab (5). ”
'#'
'#'
'# / był włączony / dev / md126 podczas instalacji'
UUID = 2af45208-3763-4cd2-b199-e925e316bab9 / ext4 error = remount-ro 0 1
'# / boot był włączony / dev / md125 podczas instalacji „
UUID = 954e752b-30e2-4725-821a-e143ceaa6ae5 / boot ext4 domyślnie 0 2

UUID = fb81179a-6d2d-450d-8d19-3cb3bde4d28a brak zamiany sw 0 0

Teraz działa jak rasowy.

Przyszło mi do głowy, że jeśli używasz 32-bitowego sprzętu, to nie działa dla ciebie, ale myślę, że w tym momencie miękkie RAID może być gorszym wyborem niż tylko LVM dla pojedynczego dysku dla czegoś mniejszego i JBOD dla czegoś starszego niż to .

Dzięki.

spyderdyne
źródło
Partman ratuje dzień. Uruchomiłem instalator 14.04 Server, dobrze zidentyfikowałem architektury, zainstalowałem MDADM i wszystko działa świetnie. Oto podsumowanie konfiguracji na wypadek, gdyby było przydatne ;.
spyderdyne
1

Ta technika działała dla mnie na podstawowym dysku SSD 128 GB i rozszerzeniu dysku twardego 2 TB.
Jeśli podczas dodawania woluminu fizycznego do grupy woluminów wystąpił problem przy użyciu „ubuntu-vg”, spróbuj wydać polecenie

sudo vgdisplay 

Zazwyczaj format nazwy grupy woluminów jest NAME_OF_COMPUTER-vgtaki, więc jeśli twój system zostanie nazwany SKYNET, prawdopodobnie zostanie nazwana grupa woluminów

SKYNET-vg
Alexander Heck
źródło