0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

RHEL - ルートファイルシステム拡張

Last updated at Posted at 2024-08-30

OSが動作しているルートファイルシステムを拡張する場合は、
OSが動作していると拡張できないので手順が少し面倒なんですよね。

1. 仮想マシン停止

OSが動作している仮想ディスクを編集するために仮想マシンを停止します。

2. 仮想ディスク拡張

ハイパーバイザー付属のツールを使って、仮想ディスクのサイズ拡張する。

ESXiの場合

vmkfstools -X 80g /vmfs/volumes/ssd/156_RHEL7.9/156_RHEL7.9.vmdk

KVMやHyper-Vの場合も同じような感じで仮想ディスクを拡張します。

3. 仮想マシンにインストールディスクをマウント

Linuxのレスキューモードに入るためにはインストールディスクが必要です。

4. レスキューモード起動

仮想マシンのブートデバイスをインストールディスクに設定しておく(手順省略)。
起動したら、以下の順に選択してレスキューモードを起動する。

Red Hat Enterprise Linux 7.9
  -> Troubleshooting
    -> Rescue a Red Hat Enterprise Linux system

レスキューモードで起動したら 3) を選択する。

3) Skip to shell

すると / にはローカルディスクではなくISOメディアボリュームがマウントされる。

5. 仮想ディスクのパーティション拡張

5-1. fdiskを利用する場合

拡張ディスクのデバイス名を確認する

sh-4.2# fdisk -l
Device     Boot Start    End       Blocks Id System
/dev/sda1  *    2048     2099199   ****** 83 Linux
/dev/sda2       2099200  33554431  ****** 8e Linux LVM

→/dev/sda

fdiskを実行

sh-4.2# fdisk /dev/sda

拡張するパーティションと開始-終了セクタを確認する。
開始-終了セクタは後で必要になりますので必ずメモ!

Command (m for help) : p
Device     Boot Start    End       Blocks Id System
/dev/sda1  *    2048     2099199   ****** 83 Linux
/dev/sda2       2099200  33554431  ****** 8e Linux LVM

→ /dev/sda2

fdiskでパーティション拡張するためには、一度パーティションを削除してから、再作成する必要がある。
パーティションを削除する

Command (m for help) : d
Partition number (1,2, default 2): 2
Partition 2 is deleted

パーティションが消えたことを確認する

Command (m for help) : p
Device     Boot Start    End       Blocks Id System
/dev/sda1  *    2048     2099199   ****** 83 Linux

新しいパーティションを作成する
開始セクタ(First sector)は、削除する前の開始セクタと同じにしないといけない。
終了セクタ(Last sector)は、デフォルトで空き領域を使った最大サイズになっている。
※通常はデフォルト値でEnterキーを押下していけばいい感じになるけど設定値は慎重に。

Command (m for help) : n
Partition type:
   p   primary (1 parimary, 0 extended, 3 free)
   e   extended
Select (default p): p
Parition number (2-4, default 2): 2
First sector (2099200-167772159, default 2099200):
Using default value 2099299
Last sector, +sectors or +size{K,M,G} (2099200-167772159, default 16772159):
Using default value 167772159
Partition 2 of type Linux and of size 79 GiB is set

作成されたパーティションを確認する

Command (m for help) : p
Device     Boot Start    End        Blocks Id System
/dev/sda1  *    2048     2099199    ****** 83 Linux
/dev/sda2       2099200  167772159  ****** 83 Linux

System id が Linux LVM になっていないので変更する

Command (m for help) : t
Partition number (1,2, default 2): 2
Hex code (type L to List all codes): 8e
Changed type of partition 'Linux' to 'Linux LVM'

System id が変更されていることを確認する

Command (m for help) : p
Device     Boot Start    End        Blocks Id System
/dev/sda1  *    2048     2099199    ****** 83 Linux
/dev/sda2       2099200  167772159  ****** 8e Linux LVM

最後に変更を反映する(これをしないと、ここまでの変更は反映されないよ!)

Command (m for help) : w
The partition tables has been alerted!

Calling ioctl() to re-read partition table.
Syncing disk.

5-2. partedを利用する場合

partedはfdiskより簡単に拡張できます。

拡張ディスクのデバイス名を確認する

sh-4.4# parted -l
Model: VMware Virtual disk (scisi)
Disk /dev/sda: 85.9GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags:

Number Start   End     Size    File system Name                  Flags
1      1049kB  630MB   629MB   fat32       EFI System Partition  boot, esp
2      630MB   1704MB  1074MB  xfs
3      1704MB  21.5GB  19.8GB   

→/dev/sda

partedを実行

sh-4.4# parted /dev/sda

変更前のパーティションを確認する

(parted) p
Number Start   End     Size    File system Name                  Flags
1      1049kB  630MB   629MB   fat32       EFI System Partition  boot, esp
2      630MB   1704MB  1074MB  xfs
3      1704MB  21.5GB  19.8GB   

パーティションを拡張する
partedはfdiskと違って変更が即座に反映されます!

(parted) resizepart 3 100%

パーティションが拡張されたことを確認する

(parted) p
Number Start   End     Size    File system Name                  Flags
1      1049kB  630MB   629MB   fat32       EFI System Partition  boot, esp
2      630MB   1704MB  1074MB  xfs
3      1704MB  21.5GB  19.8GB 

partedを終了する

(parted) q

6. LVM - PV拡張

現状はディスクサイズが増えただけで、ファイルシステムは元のまま。
ファイルシステムはLVM上に構築されているので、
LVMの拡張を行ってから、ファイルシステムの拡張が必要です。

現状のPVは 15GB になっている

sh-4.2# pvdisplay
  --- Physical volume ---
  PV Name               /dev/sda2
  VG Name               rhel
  PV Size               <15.00 GiB / not usable 3.00 MiB
  Allocatable           yes (but full)
  PE Size               4.00 MiB
  Total PE              3839
  Free PE               0
  Allocated PE          3839
  PV UUID               EiZp2t-yIIe-JEeF-1ecJ-xLkM-lun2-Z31Rcl

PVを拡張する(fdiskで拡張した領域を反映)

sh-4.2# pvresize /dev/sda2
  Physical volume "/dev/sda2" changed
  1 physical volume(s) resized or updated / 0 physical volume(s) not resized

PVが 79GB に拡張されたことが確認できる

sh-4.2# pvscan
  PV  /dev/sda2   VG rhel   lvm2 [<99.00 GiB / 40.00 GiB free]
  Total: 1 [<79.00 GiB] / in use: 1 [<79.00 GiB] / in no VG: 0 [0  ]
sh-4.2# pvdisplay
  --- Physical volume ---
  PV Name               /dev/sda2
  VG Name               rhel
  PV Size               <79.00 GiB / not usable 2.00 MiB
  Allocatable           yes
  PE Size               4.00 MiB
  Total PE              20223
  Free PE               16384
  Allocated PE          3839
  PV UUID               EiZp2t-yIIe-JEeF-1ecJ-xLkM-lun2-Z31Rcl

7. LVM - LV拡張

(VGはPVを束にしたものなので、PVを拡張すればVGも拡張される)

現状のPVは 13.39GB になっている

sh-4.2# lvdisplay
  --- Logical volume ---
  LV Path                /dev/rhel/swap
  LV Name                swap
  VG Name                rhel
  LV UUID                LGg4a2-gG2u-LxWb-LHBm-Hsxk-9oG0-4ZpXtS
  LV Write Access        read/write
  LV Creation host, time localhost.localdomain, 2023-03-19 00:54:25 +0000
  LV Status              available
  # open                 2
  LV Size                1.60 GiB
  Current LE             410
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           253:2
    - Logical volume ---
  LV Path                /dev/rhel/root
  LV Name                home
  VG Name                rhel
  LV UUID                6NJV1B-U3XR-ylSk-imRS-QG4V-KP8K-Bycd8Z
  LV Write Access        read/write
  LV Creation host, time localhost.localdomain, 2023-03-19 00:54:25 +0000
  LV Status              available
  # open                 1
  LV Size                13.39 GiB
  Current LE             3429
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           253:3

LVを拡張する(キーボードはUS配列になっているので + は[へ]キーです)

sh-4.2# lvextend -l +100%FREE /dev/rhel/root
  Size of logical volume rhel/root chnaged from 13.39 GiB (3429 extents) to 77.39 GiB (19813 extents).
  Logical volume rhel/root successfully resize.

LVが 77.39GB に拡張されていることを確認する

sh-4.2# lvextend
  ()
    - Logical volume ---
  LV Path                /dev/rhel/root
  LV Name                home
  VG Name                rhel
  LV UUID                6NJV1B-U3XR-ylSk-imRS-QG4V-KP8K-Bycd8Z
  LV Write Access        read/write
  LV Creation host, time localhost.localdomain, 2023-03-19 00:54:25 +0000
  LV Status              available
  # open                 1
  LV Size                77.39 GiB
  Current LE             19813
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           253:3

8. ファイルシステム拡張

最後にファイルシステムの拡張をする。

レスキューモードを抜けて、通常のOS起動を行う

sh-4.2# exit

仮想マシンの電源ON!!

現状のファイルシステムサイズを確認する

[root@rhel79 ~]# df -h
ファイルシス          サイズ  使用  残り 使用% マウント位置
devtmpfs                903M     0  903M    0% /dev
tmpfs                   919M     0  919M    0% /dev/shm
tmpfs                   919M  9.6M  910M    2% /run
tmpfs                   919M     0  919M    0% /sys/fs/cgroup
/dev/mapper/rhel-root    14G   14G   44M  100% /
/dev/sda1              1014M  185M  830M   19% /boot
tmpfs                   184M  8.0K  184M    1% /run/user/42
tmpfs                   184M     0  184M    0% /run/user/0

ファイルシステムタイプを確認する

[root@rhel79 ~]# cat /etc/fstab

ファイルシステムを拡張する(ここではxfs)

[root@rhel79 ~]# xfs_growfs /dev/mapper/rhel-root
meta-data=/dev/mapper/rhel-root  isize=512    agcount=4, agsize=877824 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=0 spinodes=0
data     =                       bsize=4096   blocks=3511296, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
log      =internal               bsize=4096   blocks=2560, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0
data blocks changed from 3511296 to 20288512

ファイルシステムが拡張されたことを確認する

[root@rhel79 ~]# df -h
ファイルシス          サイズ  使用  残り 使用% マウント位置
devtmpfs                903M     0  903M    0% /dev
tmpfs                   919M     0  919M    0% /dev/shm
tmpfs                   919M  9.6M  910M    2% /run
tmpfs                   919M     0  919M    0% /sys/fs/cgroup
/dev/mapper/rhel-root    78G   14G   65G   18% /
/dev/sda1              1014M  185M  830M   19% /boot
tmpfs                   184M  8.0K  184M    1% /run/user/42
tmpfs                   184M     0  184M    0% /run/user/0

ファイルシステム拡張だけOS上ですみません。。。

以上です。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?