Přidání diskového prostoru

Tato kapitola vás provede přidáním diskového prostoru pro IAM appliance.

Návod je vhodný jak pro zvětšení prostoru po prvním spuštění, kdy dodávaný virtuální disk nedosahuje parametrů potřebných pro konkrétní nasazení, tak pro běžné provozní přidání místa.

Popisovaná situace platí pro případ, kdy appliance používá jeden připojený pevný disk. Pokud je disků připojených více, může být nutné postup upravit s ohledem na jinou identifikaci disků a jejich oddílů.

Přidání místa sestává z těchto kroků
  1. Vypnutí appliance.

  2. Zvětšení virtuálního disku na datastoru virtualizace na požadovanou velikost.

  3. Vytvoření snapshotu disku appliance, aby bylo možné provést návrat v případě chyby a celou akci zopakovat.

  4. Spuštění appliance.

  5. Zvětšení diskového oddílu, aby využil celou novou velikost disku.

  6. Zvětšení fyzického volume.

  7. Alokace místa příslušným oddílům.

  8. Zvětšení hranice filesystému.

  9. Smazání snapshotu z virtualizace (v případě úspěchu), návrat ke snapshotu (v případě neúspěchu).

Vypnutí appliance

Appliance vypněte běžným způsobem, například zadáním příkazu poweroff na konzoli, nebo přes ACPI shutdown.

Zvětšení virtuálního disku a vytvoření snapshotu

Zvětšete virtuální disk pomocí prostředků vámi používané virtualizační platformy. Poté vytvořte snapshot.

Spuštění appliance

Spusťte appliance standardním způsobem. Po nastartování zkontrolujte, že všechny služby běží.

Zvětšení diskového oddílu

Appliance používá interně dva diskové oddíly. Jde o oddíl sda1 mountovaný do systému jako /boot, který má pevnou velikost a není potřeba s ním nic dělat. Druhý oddíl je fyzickým volumem systému LVM, identifikován je jako sda2 a jsou na něm uložena data appliance a jejího operačního systému (mountováno jako /, data a swap).

LVM pracuje s fyzickými volumy (pv), volume groups (vg) a logickými volumy (lv).

  • Fyzický volume odpovídá oddílu na pevném disku. Jeden nebo více volumů tvoří volume group.

  • Volume group je zásobárnou diskového prostoru, abstrahovaného od fyzického úložiště, a místo z ní lze přidělovat jednotlivým logickým volumům.

  • Logický volume odpovídá mountpointu, který je vidět z operačního systému. Na tento oddíl se ukládají data z pohledu aplikací.

Při startu appliance si operační systém načte novou velikost fyzického disku. Je potřeba zvětšit diskový oddíl sda2 (sda je identifikace disku, 2 identifikace oddílu na něm).

Pomocí programu parted změníme velikost oddílu 2. Údaj 100% je reference na offset na disku, tzn. "až na konec".

Pomocí programu parted změníme velikost oddílu
[root@localhost ~]# parted /dev/sda
... zkráceno ...

(parted) p
Model: ATA VBOX HARDDISK (scsi)
Disk /dev/sda: 85.9GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags:

Number  Start   End     Size    Type     File system  Flags
 1      1049kB  1075MB  1074MB  primary  ext4         boot
 2      1075MB  80.5GB  79.5GB  primary               lvm

(parted) resizepart 2 100%
(parted) q
Information: You may need to update /etc/fstab.

Zvětšení fyzického volume

Nyní zvětšíme fyzický volume tak, aby využil celý prostor na diskovém oddílu. Pokud použijeme příkaz pvresize bez parametrů, fyzický volume automaticky obsadí celé volné místo.

Použití pvresize
[root@localhost ~]# pvresize /dev/sda2
  Physical volume "/dev/sda2" changed
  1 physical volume(s) resized or updated / 0 physical volume(s) not resized

V tuto chvíli můžeme zkontrolovat, že se nám nové volné místo objevilo ve volume grouě. Utilita vgdisplay nám zobrazí všechny volume grupy, jejich názvy a alokované a volné místo; nás bude zajímat vg_iam. V parametru Free PE / Size je vidět aktuální volné místo, které je možné rozdělit mezi logické volumy.

Výpis volume groups a jejich vlastností
[root@localhost ~]# vgdisplay
  --- Volume group ---
  VG Name               vg_iam
... zkráceno ...
  VG Size               <79.00 GiB
  PE Size               4.00 MiB
  Total PE              18943
  Alloc PE / Size       18943 / <74.00 GiB
  Free  PE / Size       1280 / 5.00 GiB
... zkráceno ...

Alokace místa oddílům

Nejdříve musíme identifikovat oddíl, kterému chceme místo přidělit. K tomu nám pomůže nástroj lsblk.

Příklad výpisu lsblk
[root@localhost ~]# lsblk
NAME            MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda               8:0    0   75G  0 disk
├─sda1            8:1    0    1G  0 part /boot
└─sda2            8:2    0   74G  0 part
  ├─vg_iam-root 253:0    0   20G  0 lvm  /
  ├─vg_iam-swap 253:1    0    4G  0 lvm  [SWAP]
  └─vg_iam-data 253:2    0   50G  0 lvm  /data
sr0              11:0    1 1024M  0 rom

Z výstupu lsblk dokážeme vyčíst mountpointy, diskové oddíly na kterých nám místo dochází, i to, který logický volume je nutné roztáhnout.

Předpokládejme, že přidáváme místo do oddílu /data. Pomocí lsblk jsme zjistili, že úložiště je ve volume group vg_iam a logický volume se jmenuje data (viz. levá strana předchozího výpisu).

Do logického volume přidáme 1GB místa pomocí utility lvextend.
[root@localhost ~]# lvextend -L+1G /dev/vg_iam/data
  Size of logical volume vg_iam/data changed from <50.00 GiB (12799 extents) to <51.00 GiB (13055 extents).
  Logical volume vg_iam/data successfully resized.

Dodržení syntaxe parametru -L je velmi důležité. Znak + říká, že přidáváme místo k již stávající velikosti.

Pokud by nebyl + uveden, nastavovali bychom absolutní velikost oddílu - a pokud bychom nastavili menší velikost než už oddíl má, došlo by k poškození souborového systému.

Zvětšení hranice filesystému

Posledním krokem je zvětšení hranice samotného souborového systému. Jako souborový systém se používá XFS, zvětšení provedeme pomocí utility xfs_growfs.

Použití xfs_growfs k roztažení oddílu /data
[root@localhost ~]# xfs_growfs /dev/vg_iam/data
meta-data=/dev/mapper/vg_iam-data isize=512    agcount=4, agsize=3276544 blks
... zkráceno ...
data blocks changed from 13106176 to 13368320
Kontrola přidaného místa

Pomocí příkazu df můžete zkontrolovat, že na oddílu /data je nyní více volného místa.

[root@localhost ~]# df -h
Filesystem               Size  Used Avail Use% Mounted on
devtmpfs                 1.9G     0  1.9G   0% /dev
tmpfs                    2.0G     0  2.0G   0% /dev/shm
tmpfs                    2.0G   17M  2.0G   1% /run
tmpfs                    2.0G     0  2.0G   0% /sys/fs/cgroup
/dev/mapper/vg_iam-root   20G  3.9G   17G  20% /
/dev/mapper/vg_iam-data   50G  390M   51G   1% /data
/dev/sda1                976M   96M  814M  11% /boot
tmpfs                    393M     0  393M   0% /run/user/0

Smazání snapshotu virtuálního stroje

Pokud všechny akce proběhly v pořádku, můžete smazat snapshot virtuálního stroje, který jste vytvořili před zvětšováním disku v appliance.