RHELにデータ用のLVMを追加する!

RHELにデータ用のLVMを追加します。作業は、管理者権限(root権限)で行います。

LVM追加用のディスクを確認する!

最初にLVM追加用のディスクを確認します。例えば、未使用の/dev/sdbをデータ用のLVMとして追加します。

# fdisk -l
...
Disk /dev/sdb: 300 GiB, 322122547200 bytes, 629145600 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes

GPTでパーティションを作成する!

GPTでパーティションを作成します。

# fdisk /dev/sdb

Welcome to fdisk (util-linux 2.32.1).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.

Device does not contain a recognized partition table.
Created a new DOS disklabel with disk identifier 0x54ece88b.

Command (m for help): g
Created a new GPT disklabel (GUID: 0A468AE3-B7A9-B640-8558-C00DFCDF04C8).

Command (m for help): n
Partition number (1-128, default 1): 
First sector (2048-629145566, default 2048): 
Last sector, +sectors or +size{K,M,G,T,P} (2048-629145566, default 629145566): 

Created a new partition 1 of type 'Linux filesystem' and of size 300 GiB.

Command (m for help): w
The partition table has been altered.
Calling ioctl() to re-read partition table.
Syncing disks.

パーティション「/dev/sdb1」が作成されたことを確認します。

# fdisk -l | grep /dev/sdb
Disk /dev/sdb: 300 GiB, 322122547200 bytes, 629145600 sectors
/dev/sdb1   2048 629145566 629143519  300G Linux filesystem

PVを作成する!

「/dev/sdb1」にPVを作成します。

# pvcreate /dev/sdb1
  Physical volume "/dev/sdb1" successfully created.

PVが作成されたことを確認します。

# pvdisplay
  --- Physical volume ---
  PV Name               /dev/sda2
  VG Name               rhel
  PV Size               <19.00 GiB / not usable 3.00 MiB
  Allocatable           yes (but full)
  PE Size               4.00 MiB
  Total PE              4863
  Free PE               0
  Allocated PE          4863
  PV UUID               5QYF0Y-Fybx-g23Z-T7zV-t0nH-0DhM-Ga8SPw
   
  "/dev/sdb1" is a new physical volume of "<300.00 GiB"
  --- NEW Physical volume ---
  PV Name               /dev/sdb1
  VG Name               
  PV Size               <300.00 GiB
  Allocatable           NO
  PE Size               0   
  Total PE              0
  Free PE               0
  Allocated PE          0
  PV UUID               2haKAa-gR53-fB1N-a2pK-KCjk-dFkC-OSdE9B
 

VGを作成する!

VGを作成します。

# vgcreate data /dev/sdb1
  Volume group "data" successfully created

VGが作成されたことを確認します。

# vgdisplay
  --- Volume group ---
  VG Name               data
  System ID             
  Format                lvm2
  Metadata Areas        1
  Metadata Sequence No  1
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                0
  Open LV               0
  Max PV                0
  Cur PV                1
  Act PV                1
  VG Size               <300.00 GiB
  PE Size               4.00 MiB
  Total PE              76799
  Alloc PE / Size       0 / 0   
  Free  PE / Size       76799 / <300.00 GiB
  VG UUID               4UFtLr-Rpi3-3LLT-YRny-fqkA-1P4I-qOBZE6
   
  --- Volume group ---
  VG Name               rhel
  System ID             
  Format                lvm2
  Metadata Areas        1
  Metadata Sequence No  3
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                2
  Open LV               2
  Max PV                0
  Cur PV                1
  Act PV                1
  VG Size               <19.00 GiB
  PE Size               4.00 MiB
  Total PE              4863
  Alloc PE / Size       4863 / <19.00 GiB
  Free  PE / Size       0 / 0   
  VG UUID               YEyT85-mJcF-00DS-OehD-kiUa-7hnb-B7z80Z
 

LVを作成する!

LVを作成します。VGを全て使用します。

# lvcreate -l 100%Free -n pulp data
  Logical volume "pulp" created.
 

LVが作成されたことを確認します。

# lvdisplay
  --- Logical volume ---
  LV Path                /dev/data/pulp
  LV Name                pulp
  VG Name                data
  LV UUID                nA1MeL-2rb4-RVfe-0ilU-XhLO-EDYu-Oojlda
  LV Write Access        read/write
  LV Creation host, time satellite.loc.lab4ict.com, 2023-01-28 14:03:14 +0900
  LV Status              available
  # open                 0
  LV Size                <300.00 GiB
  Current LE             76799
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     8192
  Block device           253:2
   
  --- Logical volume ---
  LV Path                /dev/rhel/swap
  LV Name                swap
  VG Name                rhel
  LV UUID                YmJ4Hr-Ncas-MLg8-IWkS-8xsd-2cfw-aI4F78
  LV Write Access        read/write
  LV Creation host, time localhost, 2022-03-24 14:59:41 +0900
  LV Status              available
  # open                 2
  LV Size                2.00 GiB
  Current LE             512
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     8192
  Block device           253:1
   
  --- Logical volume ---
  LV Path                /dev/rhel/root
  LV Name                root
  VG Name                rhel
  LV UUID                1Tl6S2-By2K-jWTn-8QvM-F13e-ILHG-8qOEsE
  LV Write Access        read/write
  LV Creation host, time localhost, 2022-03-24 14:59:41 +0900
  LV Status              available
  # open                 1
  LV Size                <17.00 GiB
  Current LE             4351
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     8192
  Block device           253:0
 

ファイルシステムを作成する!

xfsのファイルシステムを作成します。

# mkfs.xfs /dev/data/pulp
meta-data=/dev/data/pulp         isize=512    agcount=4, agsize=19660544 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=1, sparse=1, rmapbt=0
         =                       reflink=1    bigtime=0 inobtcount=0
data     =                       bsize=4096   blocks=78642176, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0, ftype=1
log      =internal log           bsize=4096   blocks=38399, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0

作成したファイルシステムをマウントする!

作成したファイルシステムをマウントします。まず、マウントポイントを作成します。マウントポイントがすでに存在する場合は、不要です。
xfsのファイルシステムを作成します。

# mkdir -p /var/lib/pulp

作成したファイルシステムをマウントします。

# mount /dev/data/pulp /var/lib/pulp

マウントしたことを確認します。

# mount | grep pulp
/dev/mapper/data-pulp on /var/lib/pulp type xfs (rw,relatime,seclabel,attr2,inode64,logbufs=8,logbsize=32k,noquota)

ファイルシステムのUUIDを確認します。

# blkid | grep pulp
/dev/mapper/data-pulp: UUID="65e451b1-569b-4af2-b05e-1a0480f95961" BLOCK_SIZE="512" TYPE="xfs"

再起動後もマウントする!

再起動後もマウントするように、/etc/fstabに設定します。

# vi /etc/fstab
...
UUID="65e451b1-569b-4af2-b05e-1a0480f95961" /var/lib/pulp xfs defaults 0 2

確認します。

# umount /var/lib/pulp
# df -h | grep /var/local/data01
# mount /var/lib/pulp
# df -h /var/lib/pulp
Filesystem             Size  Used Avail Use% Mounted on
/dev/mapper/data-pulp  300G  2.2G  298G   1% /var/lib/pulp

サーバの再起動も行って、マウントされるか確認しておきましょう。

おわりに

LVMの作成とマウントは、長い手順にはなりますが、パーティションの作成→PV作成→VG作成→LV作成→ファイルシステム作成と順番に作業していけば難しいところはありません。

参考情報

関連記事

関連書籍(Amazon)

N/A