データを消さずに fdisk で LVM パーティションのサイズ拡張

Panhead

2017年07月26日 22:56

CentOS のインストール時に LVM サイズを最大で確保し忘れたので、pvresize とかで拡張しようと思ったけど簡単には行かず。
FDISK でパーティションの状況を見ると、2.6 TB ある HDD の内、100 GB 程しか確保していない状況。
FDISK でパーティションを一度削除して作り直すことになりました。
データ消えるのか、OS 入れ直しなのかどうか、心配で探したのですが、意外と時間食ったので、その作業メモです。
--------------------------------------
# FDISK でパーティションの状況を確認
--------------------------------------
[root@server1 ~]# fdisk -l /dev/sda
WARNING: fdisk GPT support is currently new, and therefore in an experimental phase. Use at your own discretion.

Disk /dev/sda: 2999.0 GB, 2998950428672 bytes, 5857325056 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O サイズ (最小 / 推奨): 512 バイト / 512 バイト
Disk label type: gpt


#         Start          End    Size  Type            Name
 1         2048         4095      1M  BIOS boot parti
 2         4096      2101247      1G  Microsoft basic
 3      2101248    219957247  103.9G  Linux LVM

--------------------------------------
# 3 番目のパーティションを消去
  ※ 私の例では、同じ「セクタ番号」、同じ「Type」で作成する事で、データは消えなかった。<けど、ご自身の責任で行ってね。
--------------------------------------
コマンド (m でヘルプ): d
パーティション番号 (1-3, default 3): 3
Partition 3 is deleted

--------------------------------------
# 消した 3 番で再作成
--------------------------------------
コマンド (m でヘルプ): n
パーティション番号 (3-128, default 3): 3
First sector (34-5857325022, default 2101248):
Last sector, +sectors or +size{K,M,G,T,P} (2101248-5857325022, default 5857325022):
Created partition 3

--------------------------------------
# サイズを拡大して作成したパーティション確認
--------------------------------------
コマンド (m でヘルプ): p

Disk /dev/sda: 2999.0 GB, 2998950428672 bytes, 5857325056 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O サイズ (最小 / 推奨): 512 バイト / 512 バイト
Disk label type: gpt


#         Start          End    Size  Type            Name
 1         2048         4095      1M  BIOS boot parti
 2         4096      2101247      1G  Microsoft basic
 3      2101248   5857325022    2.7T  Linux filesyste

--------------------------------------
# Type を確認 > LVM は 15 。
--------------------------------------
コマンド (m でヘルプ): l
  1 EFI System                     C12A7328-F81F-11D2-BA4B-00A0C93EC93B
  2 MBR partition scheme           024DEE41-33E7-11D3-9D69-0008C781F39F
  3 BIOS boot partition            21686148-6449-6E6F-744E-656564454649
  4 Microsoft reserved             E3C9E316-0B5C-4DB8-817D-F92DF00215AE
  5 Microsoft basic data           EBD0A0A2-B9E5-4433-87C0-68B6B72699C7
  6 Microsoft LDM metadata         5808C8AA-7E8F-42E0-85D2-E1E90434CFB3
  7 Microsoft LDM data             AF9B60A0-1431-4F62-BC68-3311714A69AD
  8 Windows recovery evironmnet    DE94BBA4-06D1-4D40-A16A-BFD50179D6AC
  9 IBM General Parallel Fs        37AFFC90-EF7D-4E96-91C3-2D7AE055B174
 10 HP-UX data partition           75894C1E-3AEB-11D3-B7C1-7B03A0000000
 11 HP-UX service partition        E2A1E728-32E3-11D6-A682-7B03A0000000
 12 Linux filesystem               0FC63DAF-8483-4772-8E79-3D69D8477DE4
 13 Linux RAID                     A19D880F-05FC-4D3B-A006-743F0F84911E
 14 Linux swap                     0657FD6D-A4AB-43C4-84E5-0933C84B4F4F
 15 Linux LVM                      E6D6D379-F507-44C2-A23C-238F2A3DF928
 16 Linux reserved                 8DA63339-0007-60C0-C436-083AC8230908
 17 FreeBSD data                   516E7CB4-6ECF-11D6-8FF8-00022D09712B
 18 FreeBSD boot                   83BD6B9D-7F41-11DC-BE0B-001560B84F0F
 19 FreeBSD swap                   516E7CB5-6ECF-11D6-8FF8-00022D09712B
 20 FreeBSD UFS                    516E7CB6-6ECF-11D6-8FF8-00022D09712B
 21 FreeBSD ZFS                    516E7CBA-6ECF-11D6-8FF8-00022D09712B
 22 FreeBSD Vinum                  516E7CB8-6ECF-11D6-8FF8-00022D09712B
 23 Apple HFS/HFS+                 48465300-0000-11AA-AA11-00306543ECAC
 24 Apple UFS                      55465300-0000-11AA-AA11-00306543ECAC
 25 Apple RAID                     52414944-0000-11AA-AA11-00306543ECAC
 26 Apple RAID offline             52414944-5F4F-11AA-AA11-00306543ECAC
 27 Apple boot                     426F6F74-0000-11AA-AA11-00306543ECAC
 28 Apple label                    4C616265-6C00-11AA-AA11-00306543ECAC
 29 Apple TV recovery              5265636F-7665-11AA-AA11-00306543ECAC
 30 Apple Core storage             53746F72-6167-11AA-AA11-00306543ECAC
 31 Solaris boot                   6A82CB45-1DD2-11B2-99A6-080020736631
 32 Solaris root                   6A85CF4D-1DD2-11B2-99A6-080020736631
 33 Solaris /usr & Apple ZFS       6A898CC3-1DD2-11B2-99A6-080020736631
 34 Solaris swap                   6A87C46F-1DD2-11B2-99A6-080020736631
 35 Solaris backup                 6A8B642B-1DD2-11B2-99A6-080020736631
 36 Solaris /var                   6A8EF2E9-1DD2-11B2-99A6-080020736631
 37 Solaris /home                  6A90BA39-1DD2-11B2-99A6-080020736631
 38 Solaris alternate sector       6A9283A5-1DD2-11B2-99A6-080020736631
 39 Solaris reserved 1             6A945A3B-1DD2-11B2-99A6-080020736631
 40 Solaris reserved 2             6A9630D1-1DD2-11B2-99A6-080020736631
 41 Solaris reserved 3             6A980767-1DD2-11B2-99A6-080020736631
 42 Solaris reserved 4             6A96237F-1DD2-11B2-99A6-080020736631
 43 Solaris reserved 5             6A8D2AC7-1DD2-11B2-99A6-080020736631
 44 NetBSD swap                    49F48D32-B10E-11DC-B99B-0019D1879648
 45 NetBSD FFS                     49F48D5A-B10E-11DC-B99B-0019D1879648
 46 NetBSD LFS                     49F48D82-B10E-11DC-B99B-0019D1879648
 47 NetBSD concatenated            2DB519C4-B10E-11DC-B99B-0019D1879648
 48 NetBSD encrypted               2DB519EC-B10E-11DC-B99B-0019D1879648
 49 NetBSD RAID                    49F48DAA-B10E-11DC-B99B-0019D1879648
 50 ChromeOS kernel                FE3A2A5D-4F32-41A7-B725-ACCC3285A309
 51 ChromeOS root fs               3CB8E202-3B7E-47DD-8A3C-7FF2A13CFCEC
 52 ChromeOS reserved              2E0A753D-9E48-43B0-8337-B15192CB1B5E
 53 MidnightBSD data               85D5E45A-237C-11E1-B4B3-E89A8F7FC3A7
 54 MidnightBSD boot               85D5E45E-237C-11E1-B4B3-E89A8F7FC3A7
 55 MidnightBSD swap               85D5E45B-237C-11E1-B4B3-E89A8F7FC3A7
 56 MidnightBSD UFS                0394Ef8B-237C-11E1-B4B3-E89A8F7FC3A7
 57 MidnightBSD ZFS                85D5E45D-237C-11E1-B4B3-E89A8F7FC3A7
 58 MidnightBSD Vinum              85D5E45C-237C-11E1-B4B3-E89A8F7FC3A7


--------------------------------------
# 3 番パーティションの Type を変更
--------------------------------------
コマンド (m でヘルプ): t
パーティション番号 (1-3, default 3): 3
Partition type (type L to list all types): 15
Changed type of partition 'Linux filesystem' to 'Linux LVM'

--------------------------------------
# 変更したのでパーティションの状況を確認
--------------------------------------
コマンド (m でヘルプ): p

Disk /dev/sda: 2999.0 GB, 2998950428672 bytes, 5857325056 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O サイズ (最小 / 推奨): 512 バイト / 512 バイト
Disk label type: gpt


#         Start          End    Size  Type            Name
 1         2048         4095      1M  BIOS boot parti
 2         4096      2101247      1G  Microsoft basic
 3      2101248   5857325022    2.7T  Linux LVM

--------------------------------------
# 書き込み!!!!! そして再起動
--------------------------------------
コマンド (m でヘルプ): w
パーティションテーブルは変更されました!

ioctl() を呼び出してパーティションテーブルを再読込みします。

WARNING: Re-reading the partition table failed with error 16: デバイスもしくはリソースがビジー状態です.
The kernel still uses the old table. The new table will be used at
the next reboot or after you run partprobe(8) or kpartx(8)
ディスクを同期しています。

[root@server1 ~]# reboot
Connection to server1 closed by remote host.
Connection to server1 closed.

--------------------------------------
# PING で確認 or 起動するか画面確認、無事起動
--------------------------------------

[root@server0 ~]# ping server1
PING server1 (192.168.1.2) 56(84) bytes of data.
From server0 (192.168.1.1) icmp_seq=42 Destination Host Unreachable
....
From server0 (192.168.1.1) icmp_seq=113 Destination Host Unreachable
64 bytes from server1 (192.168.1.2): icmp_seq=114 ttl=64 time=1.28 ms
64 bytes from server1 (192.168.1.2): icmp_seq=115 ttl=64 time=0.107 ms
64 bytes from server1 (192.168.1.2): icmp_seq=116 ttl=64 time=0.133 ms
64 bytes from server1 (192.168.1.2): icmp_seq=117 ttl=64 time=0.152 ms
64 bytes from server1 (192.168.1.2): icmp_seq=118 ttl=64 time=0.134 ms

--------------------------------------
# 再度 FDISK で確認
--------------------------------------
root@server1 ~]# fdisk /dev/sda
WARNING: fdisk GPT support is currently new, and therefore in an experimental phase. Use at your own discretion.
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.


コマンド (m でヘルプ): p

Disk /dev/sda: 2999.0 GB, 2998950428672 bytes, 5857325056 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O サイズ (最小 / 推奨): 512 バイト / 512 バイト
Disk label type: gpt


#         Start          End    Size  Type            Name
 1         2048         4095      1M  BIOS boot parti
 2         4096      2101247      1G  Microsoft basic
 3      2101248   5857325022    2.7T  Linux LVM

--------------------------------------
# df でパーティション状況確認
--------------------------------------
[root@server1 ~]# df
ファイルシス        1K-ブロック    使用   使用可 使用% マウント位置
/dev/mapper/cl-root    52403200 1237584 51165616    3% /
devtmpfs                1927540       0  1927540    0% /dev
tmpfs                   1938256       0  1938256    0% /dev/shm
tmpfs                   1938256    8724  1929532    1% /run
tmpfs                   1938256       0  1938256    0% /sys/fs/cgroup
/dev/sda2               1038336  187620   850716   19% /boot
/dev/mapper/cl-home    52403200   32944 52370256    1% /home
tmpfs                    387652       0   387652    0% /run/user/0

--------------------------------------
# pvdisplay
--------------------------------------
[root@server1 ~]# pvdisplay
  --- Physical volume ---
  PV Name               /dev/sda3
  VG Name               cl
  PV Size               103.88 GiB / not usable 3.00 MiB
  Allocatable           yes
  PE Size               4.00 MiB
  Total PE              26593
  Free PE               1
  Allocated PE          26592
  PV UUID               XXXXXX-XXXX-XXXX-XXXX-XXXX-XXXX-XXXXXX

--------------------------------------
# pvscan 。。。変わって無い。
--------------------------------------
[root@server1 ~]# pvscan
  PV /dev/sda3   VG cl              lvm2 [103.88 GiB / 4.00 MiB free]
  Total: 1 [103.88 GiB] / in use: 1 [103.88 GiB] / in no VG: 0 [0   ]

--------------------------------------
# すかさず pvresize 。
--------------------------------------
[root@server1 ~]# pvresize /dev/sda3
  Physical volume "/dev/sda3" changed
  1 physical volume(s) resized / 0 physical volume(s) not resized

--------------------------------------
# pvdisplay で確認。よしっ変わった!!! 成功です!
--------------------------------------
[root@server1 ~]# pvdisplay
  --- Physical volume ---
  PV Name               /dev/sda3
  VG Name               cl
  PV Size               2.73 TiB / not usable 2.98 MiB
  Allocatable           yes
  PE Size               4.00 MiB
  Total PE              714748
  Free PE               688156
  Allocated PE          26592
  PV UUID               XXXXXX-XXXX-XXXX-XXXX-XXXX-XXXX-XXXXXX

--------------------------------------

関連記事