home ホーム search 検索 -  login ログイン  | reload edit datainfo version cmd icon diff delete  | help ヘルプ

技術/VirtualBox/CentOS7インストール(2015-03時点)/メモ4(LVMでXFSのrootパーティションをマウントしたままオンライン拡張) (v1)

技術/VirtualBox/CentOS7インストール(2015-03時点)/メモ4(LVMでXFSのrootパーティションをマウントしたままオンライン拡張) (v1)

技術 / VirtualBox / CentOS7インストール(2015-03時点) / メモ4(LVMでXFSのrootパーティションをマウントしたままオンライン拡張) (v1)
id: 1409 所有者: msakamoto-sf    作成日: 2015-03-15 19:48:13
カテゴリ: CentOS7 Linux VirtualBox 

CentOS7をVirtualBox 4.3.24 にインストールした、技術/VirtualBox/CentOS7インストール(2015-03時点)/メモ3(EPELリポジトリの追加, Xfce4インストール + ibus-daemonで日本語入力)の続きです。

今回のインストール作業では、最初にVMを作成した時の8GBのディスクイメージでこれまで作業してきました。しかしこの先、実験とか勉強とかで作業してくと、8GBでは容量不足です。そこで、VirtualBoxで20GBのディスクを追加し、LVMでrootパーティションを拡張してみます。

VirtualBox側でのディスク追加

VMを一旦シャットダウンし、20GBのディスクを追加して、起動する。起動後に "lsblk" コマンドで確認したところ、"/dev/sdb" として認識された。

# lsblk
NAME                      MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda                         8:0    0    8G  0 disk            # ←これが最初の8GBのディスク
├─sda1                      8:1    0  500M  0 part /boot
└─sda2                      8:2    0  7.5G  0 part 
  ├─centos_c7x64dev1-root 253:0    0  6.7G  0 lvm  /
  └─centos_c7x64dev1-swap 253:1    0  820M  0 lvm  [SWAP]
sdb                         8:16   0   20G  0 disk            # ←これが追加した20GBのディスク
sr0                        11:0    1 1024M  0 rom  

PV(Physical Volume)の作成

fdiskでLVM用のパーティション追加→pvcreateでPV作成。

# fdisk /dev/sdb
Welcome to fdisk (util-linux 2.23.2).

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
Building a new DOS disklabel with disk identifier 0x95dbdb71.

Command (m for help): n   # ← 新規パーティション作成
Partition type:
   p   primary (0 primary, 0 extended, 4 free)
   e   extended
Select (default p): p  # ← プライマリパーティションを指定
Partition number (1-4, default 1):   # ←何も入力せずENTER
First sector (2048-41943039, default 2048):   # ←何も入力せずENTER
Using default value 2048
Last sector, +sectors or +size{K,M,G} (2048-41943039, default 41943039): 
Using default value 41943039
Partition 1 of type Linux and of size 20 GiB is set

Command (m for help): t  # ← パーティションタイプを指定
Selected partition 1
Hex code (type L to list all codes): 8e  # ← Linux LVMを指定
Changed type of partition 'Linux' to 'Linux LVM'

Command (m for help): p  # ← パーティション設定状況を確認

Disk /dev/sdb: 21.5 GB, 21474836480 bytes, 41943040 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
Disk label type: dos
Disk identifier: 0x95dbdb71

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048    41943039    20970496   8e  Linux LVM

Command (m for help): w  # ← パーティションテーブルに書き込み
The partition table has been altered!

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

→ lsblkで確認すると、"/dev/sdb1" でパーティション作れてた。

# lsblk
NAME                      MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda                         8:0    0    8G  0 disk 
(...)
sdb                         8:16   0   20G  0 disk 
└─sdb1                      8:17   0   20G  0 part 

→ "pvcreate" コマンドでPV作成:

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

VG(Volume Group)に追加

現状のVolume Group確認:

# vgdisplay
  --- Volume group ---
  VG Name               centos_c7x64dev1
  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               7.51 GiB
  PE Size               4.00 MiB
  Total PE              1922
  Alloc PE / Size       1922 / 7.51 GiB
  Free  PE / Size       0 / 0   
  VG UUID               aSp0xQ-VKM4-x3cb-AXNu-RK9e-VXBe-JyVT23

→これ一個だけ。これから、root用とswap用をLVに切り出して使ってる。これに "/dev/sdb1" を追加する:

# vgextend centos_c7x64dev1 /dev/sdb1
  Volume group "centos_c7x64dev1" successfully extended

→
# vgdisplay
  --- Volume group ---
  VG Name               centos_c7x64dev1
  System ID             
  Format                lvm2
  Metadata Areas        2
  Metadata Sequence No  4
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                2
  Open LV               2
  Max PV                0
  Cur PV                2
  Act PV                2
  VG Size               27.50 GiB
  PE Size               4.00 MiB
  Total PE              7041
  Alloc PE / Size       1922 / 7.51 GiB
  Free  PE / Size       5119 / 20.00 GiB  # ←Free部分に20GBが追加された。
  VG UUID               aSp0xQ-VKM4-x3cb-AXNu-RK9e-VXBe-JyVT23

LV(Logical Volume) 拡張

現在のLV一覧:

# lvdisplay
  --- Logical volume ---
  LV Path                /dev/centos_c7x64dev1/swap
  LV Name                swap
  VG Name                centos_c7x64dev1
  LV UUID                uEDQ7Y-V3U2-FGkb-kDOt-uQof-6q6p-2EsEKV
  LV Write Access        read/write
  LV Creation host, time localhost, 2015-03-15 02:49:59 +0900
  LV Status              available
  # open                 2
  LV Size                820.00 MiB
  Current LE             205
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     8192
  Block device           253:1
   
  --- Logical volume ---
  LV Path                /dev/centos_c7x64dev1/root
  LV Name                root
  VG Name                centos_c7x64dev1
  LV UUID                blpdBV-Ho2U-mWFi-qoC7-z3aM-lebw-WnGhDi
  LV Write Access        read/write
  LV Creation host, time localhost, 2015-03-15 02:49:59 +0900
  LV Status              available
  # open                 1
  LV Size                6.71 GiB
  Current LE             1717
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     8192
  Block device           253:0

→ "root" LVに追加する。LV Pathの "/dev/centos_c7x64dev1/root" を指定する。また、"-l" のオプションで "+" がついていることを確認すること。

# lvextend -l +100%FREE /dev/centos_c7x64dev1/root
  Extending logical volume root to 26.70 GiB
  Logical volume root successfully resized

→lsblkで確認すると、/dev/sdb1が centos_c7x64dev1-root のLVMとして追加されてことが分かる:

# lsblk
NAME                      MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda                         8:0    0    8G  0 disk 
├─sda1                      8:1    0  500M  0 part /boot
└─sda2                      8:2    0  7.5G  0 part 
  ├─centos_c7x64dev1-root 253:0    0 26.7G  0 lvm  /
  └─centos_c7x64dev1-swap 253:1    0  820M  0 lvm  [SWAP]
sdb                         8:16   0   20G  0 disk 
└─sdb1                      8:17   0   20G  0 part 
  └─centos_c7x64dev1-root 253:0    0 26.7G  0 lvm  /  # ← LVMとして認識された
sr0                        11:0    1 1024M  0 rom  

ファイルシステムの拡張

xfsなのでオンラインリサイズが可能。resize2fsではなく、xfs_growfsで実行できる。マウントポイントを指定する。
以下の例("/")のようにアンマウントしておく必要はない。マウントしたままできる。

# xfs_growfs /
meta-data=/dev/mapper/centos_c7x64dev1-root isize=256    agcount=4, agsize=439552 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=0
data     =                       bsize=4096   blocks=1758208, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=0
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 1758208 to 7000064

(一瞬で終わった→不安になってリターンコードをチェック)
# echo $?
0
(→成功してる・・・)

念のため、再起動後にdfコマンドで確認:

$ df -h
Filesystem                         Size  Used Avail Use% Mounted on
/dev/mapper/centos_c7x64dev1-root   27G  5.6G   22G  21% /            # ←確かに20GB増えてる。成功。
devtmpfs                           912M     0  912M   0% /dev
tmpfs                              921M  8.0K  921M   1% /dev/shm
tmpfs                              921M  8.7M  912M   1% /run
tmpfs                              921M     0  921M   0% /sys/fs/cgroup
/dev/sda1                          497M  158M  340M  32% /boot

参考:



プレーンテキスト形式でダウンロード
現在のバージョン : 1
更新者: msakamoto-sf
更新日: 2017-02-12 19:51:31
md5:4633388366ecdfabd44aedc083af7b04
sha1:a3a7ed3e739b0016cd96da5d221db4b5b03c4b4e
コメント
コメントを投稿するにはログインして下さい。