LVMによるディスク追加方法

ディスクを追加して、すぐにディスクが使えるようにします。ディスクの管理はLVMで既存の領域はそのままにして、単純に新しくエリアを用意します。

環境

$ cat /etc/almalinux-release
AlmaLinux release 9.5 (Teal Serval)
$ uname -r
5.14.0-503.11.1.el9_5.x86_64

作成前の状態

ディスクを追加してマシンをリブートすると、新しいディスクを見ることが出来ます。

$ lsblk
NAME              MAJ:MIN RM  SIZE RO TYPE MOUNTPOINTS
sda                 8:0    0   32G  0 disk
|-sda1              8:1    0  600M  0 part /boot/efi
|-sda2              8:2    0    1G  0 part /boot
`-sda3              8:3    0 30.4G  0 part
  |-rootvg-rootlv 253:0    0   20G  0 lvm  /
  |-rootvg-swaplv 253:1    0    2G  0 lvm  [SWAP]
  `-rootvg-tmplv  253:2    0    4G  0 lvm  /tmp
sdb                 8:16   0   10G  0 disk ・・・ 追加した新しいディスク
sr0                11:0    1 1024M  0 rom

パーティションの作成

$ sudo gdisk /dev/sdb
GPT fdisk (gdisk) version 1.0.7

Partition table scan:
  MBR: not present
  BSD: not present
  APM: not present
  GPT: not present

Creating new GPT entries in memory.

Command (? for help): p ・・・ 念のためディスクの状態を確認
Disk /dev/sdb: 20971520 sectors, 10.0 GiB
Model: VBOX HARDDISK
Sector size (logical/physical): 512/512 bytes
Disk identifier (GUID): 7D52B5E4-AF2E-48A0-B998-9E65BDB49023
Partition table holds up to 128 entries
Main partition table begins at sector 2 and ends at sector 33
First usable sector is 34, last usable sector is 20971486
Partitions will be aligned on 2048-sector boundaries
Total free space is 20971453 sectors (10.0 GiB)

Number  Start (sector)    End (sector)  Size       Code  Name ・・・ パーティションはない

Command (? for help): n ・・・ パーティションを作成
Partition number (1-128, default 1): ・・・ [Enter]キー
First sector (34-20971486, default = 2048) or {+-}size{KMGTP}: ・・・ [Enter]キー
Last sector (2048-20971486, default = 20971486) or {+-}size{KMGTP}: ・・・ [Enter]キー
Current type is 8300 (Linux filesystem)
Hex code or GUID (L to show codes, Enter = 8300): 8e00 ・・・ Linux LVMのパーティション
Changed type of partition to 'Linux LVM'

Command (? for help): p ・・・ 作成したパーティションを確認
Disk /dev/sdb: 20971520 sectors, 10.0 GiB
Model: VBOX HARDDISK
Sector size (logical/physical): 512/512 bytes
Disk identifier (GUID): 7D52B5E4-AF2E-48A0-B998-9E65BDB49023
Partition table holds up to 128 entries
Main partition table begins at sector 2 and ends at sector 33
First usable sector is 34, last usable sector is 20971486
Partitions will be aligned on 2048-sector boundaries
Total free space is 2014 sectors (1007.0 KiB)

Number  Start (sector)    End (sector)  Size       Code  Name
   1            2048        20971486   10.0 GiB    8E00  Linux LVM 

Command (? for help): w ・・・ パーティション情報の書き込み

Final checks complete. About to write GPT data. THIS WILL OVERWRITE EXISTING
PARTITIONS!!

Do you want to proceed? (Y/N): Y ・・・ 実行
OK; writing new GUID partition table (GPT) to /dev/sdb.
The operation has completed successfully.

パーティション作成後の確認

$ lsblk
NAME              MAJ:MIN RM  SIZE RO TYPE MOUNTPOINTS
sda                 8:0    0   32G  0 disk
|-sda1              8:1    0  600M  0 part /boot/efi
|-sda2              8:2    0    1G  0 part /boot
`-sda3              8:3    0 30.4G  0 part
  |-rootvg-rootlv 253:0    0   20G  0 lvm  /
  |-rootvg-swaplv 253:1    0    2G  0 lvm  [SWAP]
  `-rootvg-tmplv  253:2    0    4G  0 lvm  /tmp
sdb                 8:16   0   10G  0 disk
`-sdb1              8:17   0   10G  0 part ・・・ 作成されたパーティション
sr0                11:0    1 1024M  0 rom

LVM物理ボリュームの作成

$ sudo pvcreate /dev/sdb1
  Physical volume "/dev/sdb1" successfully created.
$ sudo pvdisplay /dev/sdb1
  "/dev/sdb1" is a new physical volume of "<10.00 GiB"
  --- NEW Physical volume ---
  PV Name               /dev/sdb1
  VG Name
  PV Size               <10.00 GiB
  Allocatable           NO
  PE Size               0
  Total PE              0
  Free PE               0
  Allocated PE          0
  PV UUID               ejtMSa-H6Vb-69Tj-T6DX-d0Iu-L4GQ-DS6iG0

LVMボリュームグループの作成

$ sudo vgcreate data01vg /dev/sdb1
  Volume group "data01vg" successfully created
$ sudo vgdisplay data01vg
  --- Volume group ---
  VG Name               data01vg
  System ID
  Format                lvm2
  Metadata Areas        1
  Metadata Sequence No  1
  VG Access             read/write
  VG Status             resizable
  MAX LV                0bbbbbbb
  Cur LV                0
  Open LV               0
  Max PV                0
  Cur PV                1
  Act PV                1
  VG Size               <10.00 GiB
  PE Size               4.00 MiB
  Total PE              2559
  Alloc PE / Size       0 / 0
  Free  PE / Size       2559 / <10.00 GiB
  VG UUID               DhIeN5-PF7a-M7Ne-ZUNW-fmti-N3IT-15lBrW

LVM論理ボリュームの作成

$ sudo lvcreate -n data01lv -l 100%FREE data01vg ・・・ 「100%FREE」で空きボリュームグループの最大容量で作成
  Logical volume "data01lv" created.
$ sudo lvdisplay /dev/data01vg/data01lv
  --- Logical volume ---
  LV Path                /dev/data01vg/data01lv
  LV Name                data01lv
  VG Name                data01vg
  LV UUID                nGkt6o-anuL-up63-wOn4-OdFh-ehrM-HINHkZ
  LV Write Access        read/write
  LV Creation host, time localhost.localdomain, 2025-05-12 14:38:10 +0900
  LV Status              available
  # open                 0
  LV Size                <10.00 GiB
  Current LE             2559
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     8192
  Block device           253:3

ファイルシステム作成

ファイルシステムはRHEL9標準の「xfs」で作成する。

$ sudo mkfs -t xfs /dev/data01vg/data01lv
meta-data=/dev/data01vg/data01lv isize=512    agcount=4, agsize=655104 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=1, sparse=1, rmapbt=0
         =                       reflink=1    bigtime=1 inobtcount=1 nrext64=0
data     =                       bsize=4096   blocks=2620416, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0, ftype=1
log      =internal log           bsize=4096   blocks=16384, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0

作成後の確認

論理ボリュームが作成され、ファイルシステムが「xfs」であることがわかります。
なお、UUIDの値(例では、「e307ad~」)は、自動マウントの設定で使用します。

$ lsblk -f
NAME                  FSTYPE      FSVER    LABEL UUID                                   FSAVAIL FSUSE% MOUNTPOINTS
sda
|-sda1                vfat        FAT32          0F88-2F64                               591.7M     1% /boot/efi
|-sda2                xfs                        24ba023c-2f56-4e6e-9238-b7e8e8d9d9a7    659.9M    31% /boot
`-sda3                LVM2_member LVM2 001       unSU73-zHmB-ZHCs-mjzq-lPEl-vkev-7qjavh
  |-rootvg-rootlv     xfs                        ad5928df-ef8b-49e5-a7e3-7f85457cd828     17.5G    12% /
  |-rootvg-swaplv     swap        1              a3f3fc8a-a792-4c86-abb2-7bad30249643                  [SWAP]
  `-rootvg-tmplv      xfs                        52761802-8267-4714-963a-3b108d46d56f      3.9G     2% /tmp
sdb
`-sdb1                LVM2_member LVM2 001       ejtMSa-H6Vb-69Tj-T6DX-d0Iu-L4GQ-DS6iG0
  `-data01vg-data01lv xfs                        e307aded-4e1f-48d2-8508-b002b94ecd81
sr0

マウントポイント用のディレクトリ作成

$ sudo mkdir /data01
$ ls -ld /data01
drwxr-xr-x. 2 root root 6 May 12 14:52 /data01

自動マウントの設定

「/etc/fstab」に追記書きします。
念のために、バックアップは取りましょう。

$ sudo cp -p /etc/fstab /etc/BK-fstab.20250512.original
$ sudo vi /etc/fstab
   : (省略)
UUID=e307aded-4e1f-48d2-8508-b002b94ecd81  /data01   xfs   defaults   0 0 ・・・ これを追記
$ diff /etc/fstab /etc/BK-fstab.20250512.original
17d16
< UUID=e307aded-4e1f-48d2-8508-b002b94ecd81  /data01   xfs   defaults   0 0

設定が正しいか、手動でマウントしてみます。

$ sudo mount /data01
$ df /data01
Filesystem                    1K-blocks   Used Available Use% Mounted on
/dev/mapper/data01vg-data01lv  10416128 105672  10310456   2% /data01

作成した論理ボリュームにマウントされています。

$ lsblk
NAME                  MAJ:MIN RM  SIZE RO TYPE MOUNTPOINTS
sda                     8:0    0   32G  0 disk
|-sda1                  8:1    0  600M  0 part /boot/efi
|-sda2                  8:2    0    1G  0 part /boot
`-sda3                  8:3    0 30.4G  0 part
  |-rootvg-rootlv     253:0    0   20G  0 lvm  /
  |-rootvg-swaplv     253:1    0    2G  0 lvm  [SWAP]
  `-rootvg-tmplv      253:2    0    4G  0 lvm  /tmp
sdb                     8:16   0   10G  0 disk
`-sdb1                  8:17   0   10G  0 part
  `-data01vg-data01lv 253:3    0   10G  0 lvm  /data01
sr0                    11:0    1 1024M  0 rom

最後は、マシンのリブートを行ない、自動でマウントされていることを確認します。

$ sudo systemctl reboot
タイトルとURLをコピーしました