序文:
運用保守作業において、ディスク管理は非常に重要な作業です。もちろん、このような仕事は比較的レベルの低い仕事でもあります。
適切なディスク パーティション設定、ファイル システム形式、および正確な LVM ロジック管理は、後の拡張作業や管理作業に大きな利便性をもたらし、サーバー全体のパフォーマンスをある程度向上させることができます。
この記事では、VMware 仮想マシンを例に、lvm の作成方法、サーバーを再起動せずに使用中のファイル システムのルート ディレクトリを拡張する方法、および通常のディスクを lvm に変換する方法を説明します。
一、
基本的な考え方
基本的な考え方
(1)PV:物理ボリューム(Physical volume):論理ボリューム管理の最下位にあり、実際の物理ハードディスク上のパーティションであってもよいし、物理ハードディスク全体であってもよい。1 台のハード ドライブまたは複数のハード ドライブ。
(2) VG: ボリューム グループ: ボリューム グループは、物理ボリュームの上に確立されます。ボリューム グループには、少なくとも 1 つの物理ボリュームが含まれている必要があります。ボリューム グループの確立後に、物理ボリュームをボリューム グループに動的に追加できます。論理ボリューム管理システム プロジェクトは、1 つのボリューム グループのみを持つことも、複数のボリューム グループを持つこともできます。ディスクを積み重ねたものの総称。
(3) LV: Logical Volume (論理ボリューム): ボリューム グループ上に論理ボリュームが確立されます。ボリューム グループ内の未割り当ての領域を使用して、新しい論理ボリュームを作成できます。論理ボリュームの確立後、その領域は使用できます。動的に拡大および縮小されます。システム内の複数の論理ボリュームは、同じボリューム グループまたは異なるボリューム グループに属することができます。1 つの論理パーティション、1 つのパーティション。
(4) PE (Physical Extent): 各物理ボリュームは PE (Physical Extent) と呼ばれる基本単位に分割されており、固有の番号を持つ PE が LVM でアドレス指定できる最小単位です。PE のサイズは構成可能で、デフォルトは 4MB です。
(5) LE (Logical Extent): 論理ボリュームは、LE (Logical Extent) と呼ばれるアドレス可能な基本単位にも分割されます。同一ボリュームグループ内では、LE と PE のサイズは同じであり、1 対 1 に対応します。
(6) lvm の概念: LVM (Logical Volume Manager) は、Linux 環境でディスク パーティションを管理するためのメカニズムであり、ハードディスクとパーティション上、およびファイル システムの下に構築される論理層であり、ディスク パーティション管理を向上させることができます。柔軟性。
Centos では、最小インストールの場合、lvm 管理ツールがない可能性があるため、lvm2 をインストールする必要があります。
yum install lvm2 -y
二、
今回の実験環境の紹介
ハードディスク 3 台、100G がシステム ディスクです
ディスク マウントは次のとおりです。
現在、sda のみが使用されており、sda はすでに lvm 論理ボリューム管理になっており、ルート ディレクトリのサイズは 50G、50+2+47+1 はちょうど 100G、sda ディスクの総容量です。
sdb はパーティション化およびフォーマットされ、data1 ディレクトリにマウントされており、合計容量は 20G です。
sdc はパーティション化およびフォーマットされていません。総容量 30G の新品ディスクです。
現在の要件が、sdb と sdc の両方を LVM 管理に組み込み、ルート ディレクトリを 70G に拡張することであるとします。
1、
拡張前のステータスを表示します。
主に lsblk、blkid、df、pvdisplay、vgdisplay、lvdisplay のコマンドを使用します。ルート ディレクトリのファイル システム形式は ext4 です。
[root@EULEER ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 100G 0 disk
├─sda1 8:1 0 1G 0 part /boot
└─sda2 8:2 0 99G 0 part
├─euleros-root 253:0 0 50G 0 lvm /
├─euleros-swap 253:1 0 2G 0 lvm [SWAP]
└─euleros-home 253:2 0 47G 0 lvm /home
sdb 8:16 0 20G 0 disk /data1
sdc 8:32 0 30G 0 disk
sr0 11:0 1 4.6G 0 rom /mnt
[root@EULEER ~]# blkid
/dev/sr0: UUID="2019-02-12-00-00-00-00" LABEL="EulerOS V2.0SP5 x86_64" TYPE="iso9660"
/dev/sda1: UUID="3c6a7424-29c8-4d8d-96b8-1c666a2552b5" TYPE="ext4"
/dev/sda2: UUID="vdoK22-iLHE-SXBp-II7t-jr83-YZrT-Ck9hp7" TYPE="LVM2_member"
/dev/sdb: UUID="6d9e6047-8d2d-4761-97ac-139d9f263155" TYPE="xfs"
/dev/mapper/euleros-root: UUID="2192f98c-8066-4ff4-ab12-38abb88ae21b" TYPE="ext4"
/dev/mapper/euleros-swap: UUID="1ce50f1b-8271-4a6d-bd4f-27b427f195e7" TYPE="swap"
/dev/mapper/euleros-home: UUID="3d61f021-8916-455e-97fe-0411218d85c2" TYPE="ext4"
[root@EULEER ~]# df -ah
Filesystem Size Used Avail Use% Mounted on
rootfs - - - - /
sysfs 0 0 0 - /sys
proc 0 0 0 - /proc
devtmpfs 981M 0 981M 0% /dev
securityfs 0 0 0 - /sys/kernel/security
tmpfs 992M 0 992M 0% /dev/shm
devpts 0 0 0 - /dev/pts
。。。。略略略
/dev/mapper/euleros-root 49G 5.1G 42G 11% /
debugfs 0 0 0 - /sys/kernel/debug
mqueue 0 0 0 - /dev/mqueue
systemd-1 0 0 0 - /proc/sys/fs/binfmt_misc
hugetlbfs 0 0 0 - /dev/hugepages
/dev/sr0 4.6G 4.6G 0 100% /mnt
/dev/sda1 976M 115M 795M 13% /boot
/dev/sdb 20G 33M 20G 1% /data1
/dev/mapper/euleros-home 47G 62M 44G 1% /home
sunrpc 0 0 0 - /var/lib/nfs/rpc_pipefs
tmpfs 199M 0 199M 0% /run/user/0
[root@EULEER ~]# cat /etc/fstab
#
# /etc/fstab
# Created by anaconda on Thu Mar 9 01:23:27 2023
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
/dev/mapper/euleros-root / ext4 defaults 1 1
UUID=3c6a7424-29c8-4d8d-96b8-1c666a2552b5 /boot ext4 defaults 1 2
/dev/mapper/euleros-home /home ext4 defaults 1 2
/dev/mapper/euleros-swap swap swap defaults 0 0
/dev/sr0 /mnt iso9660 defaults 0 0
[root@EULEER ~]# pvdisplay
--- Physical volume ---
PV Name /dev/sda2
VG Name euleros
PV Size <99.00 GiB / not usable 3.00 MiB
Allocatable yes
PE Size 4.00 MiB
Total PE 25343
Free PE 1
Allocated PE 25342
PV UUID vdoK22-iLHE-SXBp-II7t-jr83-YZrT-Ck9hp7
[root@EULEER ~]# vgdisplay
--- Volume group ---
VG Name euleros
System ID
Format lvm2
Metadata Areas 1
Metadata Sequence No 4
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 3
Open LV 3
Max PV 0
Cur PV 1
Act PV 1
VG Size <99.00 GiB
PE Size 4.00 MiB
Total PE 25343
Alloc PE / Size 25342 / 98.99 GiB
Free PE / Size 1 / 4.00 MiB
VG UUID 7jLpC0-m532-xsAA-AQk2-D7VA-f8G9-CKBsuP
[root@EULEER ~]# lvdisplay
--- Logical volume ---
LV Path /dev/euleros/swap
LV Name swap
VG Name euleros
LV UUID k3AxS2-cWUe-4zyz-PCli-bQNp-bUwo-2okGqc
LV Write Access read/write
LV Creation host, time localhost, 2023-03-09 01:23:18 +0800
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/euleros/home
LV Name home
VG Name euleros
LV UUID fdgAw4-YN9L-zAh4-6O2E-f4vT-k7JC-lTDe99
LV Write Access read/write
LV Creation host, time localhost, 2023-03-09 01:23:19 +0800
LV Status available
# open 1
LV Size 46.99 GiB
Current LE 12030
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 8192
Block device 253:2
--- Logical volume ---
LV Path /dev/euleros/root
LV Name root
VG Name euleros
LV UUID qXMhds-ivkh-E1QE-7IVy-wZvq-pYYp-aKSPBZ
LV Write Access read/write
LV Creation host, time localhost, 2023-03-09 01:23:23 +0800
LV Status available
# open 1
LV Size 50.00 GiB
Current LE 12800
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 8192
Block device 253:0
二、
ディスクプランニング手順
sdb ディスクは、それぞれ 10G の 2 つのパーティションに分割されています。最初のパーティションは sda の lvm に結合し、2 番目のパーティションは lvm に結合せず、標準パーティションを採用します。
sdc ディスク全体に新しい lvm を追加し、ルート ディレクトリに容量を 2 倍に拡張し、最終的なルート ディレクトリの容量は 70G に達します
三つ、
ルートディレクトリの拡張
最初の拡張は 50G から 60G で、sdb ディスクを 2 つの 10G パーティションに分割し、2 番目のパーティション、つまり sdb2 をルート ディレクトリに拡張します。
###注: ルート ディレクトリの拡張の前提条件は、ルート ディレクトリが LVM 論理ボリュームであることです。
1、
fdisk を使用して sdb のパーティションを分割すると、最初のパーティションが間違っており、sdb1 の容量が間違っており、2 番目のパーティションが正しいことがわかります。
[root@EULEER ~]# 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 0x5c6eb410.
Command (m for help): n
Partition type:
p primary (0 primary, 0 extended, 4 free)
e extended
Select (default p): e
Partition number (1-4, default 1):
First sector (2048-41943039, default 2048):
Using default value 2048
Last sector, +sectors or +size{K,M,G} (2048-41943039, default 41943039): +10G
Partition 1 of type Extended and of size 10 GiB is set
Command (m for help): w
The partition table has been altered!
Calling ioctl() to re-read partition table.
Syncing disks.
[root@EULEER ~]# partprobe
Warning: Unable to open /dev/sr0 read-write (Read-only file system). /dev/sr0 has been opened read-only.
[root@EULEER ~]# 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.
Command (m for help): n
Partition type:
p primary (0 primary, 1 extended, 3 free)
l logical (numbered from 5)
Select (default p): l
Adding logical partition 5
First sector (4096-20973567, default 4096):
Using default value 4096
Last sector, +sectors or +size{K,M,G} (4096-20973567, default 20973567):
Using default value 20973567
Partition 5 of type Linux and of size 10 GiB is set
Command (m for help): w
The partition table has been altered!
Calling ioctl() to re-read partition table.
Syncing disks.
[root@EULEER ~]# partprobe
Warning: Unable to open /dev/sr0 read-write (Read-only file system). /dev/sr0 has been opened read-only.
[root@EULEER ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 100G 0 disk
├─sda1 8:1 0 1G 0 part /boot
└─sda2 8:2 0 99G 0 part
├─euleros-root 253:0 0 50G 0 lvm /
├─euleros-swap 253:1 0 2G 0 lvm [SWAP]
└─euleros-home 253:2 0 47G 0 lvm /home
sdb 8:16 0 20G 0 disk
├─sdb1 8:17 0 1K 0 part
└─sdb5 8:21 0 10G 0 part
sdc 8:32 0 30G 0 disk
sr0 11:0 1 4.6G 0 rom /mnt
[root@EULEER ~]# blkid
/dev/sr0: UUID="2019-02-12-00-00-00-00" LABEL="EulerOS V2.0SP5 x86_64" TYPE="iso9660"
/dev/sda1: UUID="3c6a7424-29c8-4d8d-96b8-1c666a2552b5" TYPE="ext4"
/dev/sda2: UUID="vdoK22-iLHE-SXBp-II7t-jr83-YZrT-Ck9hp7" TYPE="LVM2_member"
/dev/mapper/euleros-root: UUID="2192f98c-8066-4ff4-ab12-38abb88ae21b" TYPE="ext4"
/dev/mapper/euleros-swap: UUID="1ce50f1b-8271-4a6d-bd4f-27b427f195e7" TYPE="swap"
/dev/mapper/euleros-home: UUID="3d61f021-8916-455e-97fe-0411218d85c2" TYPE="ext4"
[root@EULEER ~]# 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.
Command (m for help): t
Partition number (1,5, default 5): 5
Hex code (type L to list all codes): 8e
Changed type of partition 'Linux' to 'Linux LVM'
Command (m for help): w
The partition table has been altered!
Calling ioctl() to re-read partition table.
Syncing disks.
パーティションの作成が完了したら、パーティションのステータスを確認し、拡張コマンドを実行して、容量を 2 回拡張します (1 回目は 9G、2 回目は 1G)。
使用される主なコマンドは、vgs、vgextend、lvextend、resize2fs です。
vgs コマンドには特別な注意を払う必要があります。このコマンドがパラメータを受け取らない場合、すべての vgs を表示できます。主な理由は、このコマンドが vgs の残りの容量を表示するためです。たとえば、この例の最初のクエリは次のとおりです。 vgextend euleros /dev/sdb5 コマンドを実行すると、vgs コマンドは pv が 1 増加したことを示し、vfree は 10G スペースの拡張があることを示します。 。
[root@EULEER ~]# vgs
VG #PV #LV #SN Attr VSize VFree
euleros 2 3 0 wz--n- 108.99g 10.00g
vgextend 既存の vg 名 追加するパーティション (この場合は vgextend euleros /dev/sdb5)
assign2fs は ext4 パーティション形式のコマンドであり、この例では拡張対象のルートディレクトリが ext4 パーティション形式になっています。パーティション形式が xfs の場合は、xfs_growfs コマンドを使用します。このコマンドは主に df コマンドを同期するためのもので、それ以外の場合は vgs コマンドの表示のみが拡張され、df コマンドは元の表示のままです。
[root@EULEER ~]# vgs
VG #PV #LV #SN Attr VSize VFree
euleros 1 3 0 wz--n- <99.00g 4.00m
[root@EULEER ~]# vgextend euleros /dev/sdb5
Physical volume "/dev/sdb5" successfully created.
Volume group "euleros" successfully extended
[root@EULEER ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 100G 0 disk
├─sda1 8:1 0 1G 0 part /boot
└─sda2 8:2 0 99G 0 part
├─euleros-root 253:0 0 50G 0 lvm /
├─euleros-swap 253:1 0 2G 0 lvm [SWAP]
└─euleros-home 253:2 0 47G 0 lvm /home
sdb 8:16 0 20G 0 disk
├─sdb1 8:17 0 1K 0 part
└─sdb5 8:21 0 10G 0 part
sdc 8:32 0 30G 0 disk
sr0 11:0 1 4.6G 0 rom /mnt
[root@EULEER ~]# blkid
/dev/sr0: UUID="2019-02-12-00-00-00-00" LABEL="EulerOS V2.0SP5 x86_64" TYPE="iso9660"
/dev/sda1: UUID="3c6a7424-29c8-4d8d-96b8-1c666a2552b5" TYPE="ext4"
/dev/sda2: UUID="vdoK22-iLHE-SXBp-II7t-jr83-YZrT-Ck9hp7" TYPE="LVM2_member"
/dev/mapper/euleros-root: UUID="2192f98c-8066-4ff4-ab12-38abb88ae21b" TYPE="ext4"
/dev/mapper/euleros-swap: UUID="1ce50f1b-8271-4a6d-bd4f-27b427f195e7" TYPE="swap"
/dev/mapper/euleros-home: UUID="3d61f021-8916-455e-97fe-0411218d85c2" TYPE="ext4"
/dev/sdb5: UUID="JKvfyx-9GzI-XXTD-eaq5-6LG1-4JPU-YhvyJo" TYPE="LVM2_member"
[root@EULEER ~]# vgs
VG #PV #LV #SN Attr VSize VFree
euleros 2 3 0 wz--n- 108.99g 10.00g
[root@EULEER ~]# lvextend -L +9G /dev/euleros/root
Size of logical volume euleros/root changed from 50.00 GiB (12800 extents) to 59.00 GiB (15104 extents).
Logical volume euleros/root successfully resized.
[root@EULEER ~]# resize2fs /dev/mapper/euleros-root
resize2fs 1.45.0 (6-Mar-2019)
Filesystem at /dev/mapper/euleros-root is mounted on /; on-line resizing required
old_desc_blocks = 7, new_desc_blocks = 8
The filesystem on /dev/mapper/euleros-root is now 15466496 (4k) blocks long.
[root@EULEER ~]# df -ah
Filesystem Size Used Avail Use% Mounted on
rootfs - - - - /
sysfs 0 0 0 - /sys
proc 0 0 0 - /proc
devtmpfs 981M 0 981M 0% /dev
securityfs 0 0 0 - /sys/kernel/security
tmpfs 992M 0 992M 0% /dev/shm
devpts 0 0 0 - /dev/pts
tmpfs 992M 9.0M 983M 1% /run
tmpfs 992M 0 992M 0% /sys/fs/cgroup
cgroup 0 0 0 - /sys/fs/cgroup/systemd
pstore 0 0 0 - /sys/fs/pstore
cgroup 0 0 0 - /sys/fs/cgroup/freezer
cgroup 0 0 0 - /sys/fs/cgroup/cpuset
cgroup 0 0 0 - /sys/fs/cgroup/memory
cgroup 0 0 0 - /sys/fs/cgroup/cpu,cpuacct
cgroup 0 0 0 - /sys/fs/cgroup/hugetlb
cgroup 0 0 0 - /sys/fs/cgroup/pids
cgroup 0 0 0 - /sys/fs/cgroup/devices
cgroup 0 0 0 - /sys/fs/cgroup/net_cls,net_prio
cgroup 0 0 0 - /sys/fs/cgroup/perf_event
cgroup 0 0 0 - /sys/fs/cgroup/files
cgroup 0 0 0 - /sys/fs/cgroup/blkio
configfs 0 0 0 - /sys/kernel/config
/dev/mapper/euleros-root 58G 5.1G 50G 10% /
debugfs 0 0 0 - /sys/kernel/debug
[root@EULEER ~]# lvextend -L +1G /dev/euleros/root
Size of logical volume euleros/root changed from 59.00 GiB (15104 extents) to 60.00 GiB (15360 extents).
Logical volume euleros/root successfully resized.
[root@EULEER ~]# vgs
VG #PV #LV #SN Attr VSize VFree
euleros 2 3 0 wz--n- 108.99g 0
[root@EULEER ~]# resize2fs /dev/mapper/euleros-root
resize2fs 1.45.0 (6-Mar-2019)
Filesystem at /dev/mapper/euleros-root is mounted on /; on-line resizing required
old_desc_blocks = 8, new_desc_blocks = 8
The filesystem on /dev/mapper/euleros-root is now 15728640 (4k) blocks long.
[root@EULEER ~]# df -ah
Filesystem Size Used Avail Use% Mounted on
rootfs - - - - /
sysfs 0 0 0 - /sys
proc 0 0 0 - /proc
devtmpfs 981M 0 981M 0% /dev
securityfs 0 0 0 - /sys/kernel/security
tmpfs 992M 0 992M 0% /dev/shm
devpts 0 0 0 - /dev/pts
tmpfs 992M 14M 979M 2% /run
tmpfs 992M 0 992M 0% /sys/fs/cgroup
cgroup 0 0 0 - /sys/fs/cgroup/systemd
pstore 0 0 0 - /sys/fs/pstore
cgroup 0 0 0 - /sys/fs/cgroup/freezer
cgroup 0 0 0 - /sys/fs/cgroup/cpuset
cgroup 0 0 0 - /sys/fs/cgroup/memory
cgroup 0 0 0 - /sys/fs/cgroup/cpu,cpuacct
cgroup 0 0 0 - /sys/fs/cgroup/hugetlb
cgroup 0 0 0 - /sys/fs/cgroup/pids
cgroup 0 0 0 - /sys/fs/cgroup/devices
cgroup 0 0 0 - /sys/fs/cgroup/net_cls,net_prio
cgroup 0 0 0 - /sys/fs/cgroup/perf_event
cgroup 0 0 0 - /sys/fs/cgroup/files
cgroup 0 0 0 - /sys/fs/cgroup/blkio
configfs 0 0 0 - /sys/kernel/config
/dev/mapper/euleros-root 59G 5.1G 51G 9% /
debugfs 0 0 0 - /sys/kernel/debug
mqueue 0 0 0 - /dev/mqueue
systemd-1 - - - - /proc/sys/fs/binfmt_misc
hugetlbfs 0 0 0 - /dev/hugepages
/dev/sr0 4.6G 4.6G 0 100% /mnt
/dev/sda1 976M 115M 795M 13% /boot
/dev/mapper/euleros-home 47G 62M 44G 1% /home
sunrpc 0 0 0 - /var/lib/nfs/rpc_pipefs
tmpfs 199M 0 199M 0% /run/user/0
binfmt_misc 0 0 0 - /proc/sys/fs/binfmt_misc
[root@EULEER ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 100G 0 disk
├─sda1 8:1 0 1G 0 part /boot
└─sda2 8:2 0 99G 0 part
├─euleros-root 253:0 0 60G 0 lvm /
├─euleros-swap 253:1 0 2G 0 lvm [SWAP]
└─euleros-home 253:2 0 47G 0 lvm /home
sdb 8:16 0 20G 0 disk
├─sdb1 8:17 0 1K 0 part
└─sdb5 8:21 0 10G 0 part
└─euleros-root 253:0 0 60G 0 lvm /
sdc 8:32 0 30G 0 disk
sr0 11:0 1 4.6G 0 rom /mnt
####注: 这里显示了两个挂载点 / ,不用奇怪,是正常现象。
[root@EULEER ~]# blkid
/dev/sr0: UUID="2019-02-12-00-00-00-00" LABEL="EulerOS V2.0SP5 x86_64" TYPE="iso9660"
/dev/sda1: UUID="3c6a7424-29c8-4d8d-96b8-1c666a2552b5" TYPE="ext4"
/dev/sda2: UUID="vdoK22-iLHE-SXBp-II7t-jr83-YZrT-Ck9hp7" TYPE="LVM2_member"
/dev/mapper/euleros-root: UUID="2192f98c-8066-4ff4-ab12-38abb88ae21b" TYPE="ext4"
/dev/mapper/euleros-swap: UUID="1ce50f1b-8271-4a6d-bd4f-27b427f195e7" TYPE="swap"
/dev/mapper/euleros-home: UUID="3d61f021-8916-455e-97fe-0411218d85c2" TYPE="ext4"
/dev/sdb5: UUID="JKvfyx-9GzI-XXTD-eaq5-6LG1-4JPU-YhvyJo" TYPE="LVM2_member"
四、
LVMによる新しいパーティションの作成
1、
vg という名前の新しい LVM を作成します。
[root@EULEER ~]# pvcreate /dev/sdb2
Physical volume "/dev/sdb2" successfully created.
[root@EULEER ~]# vgcreate vg /dev/sdb2
Volume group "vg" successfully created
[root@EULEER ~]# lvcreate -L vg + 10G
Size requires number argument.
Invalid argument for --size: vg
Error during parsing of command line.
[root@EULEER ~]# lvcreate -n vg -L 10G vg
Volume group "vg" has insufficient free space (2559 extents): 2560 required.
[root@EULEER ~]# lvcreate -n vg -L 9G vg
Logical volume "vg" created.
2、
sdb2 を新しい LVM に追加します。
[root@EULEER ~]# vgs
VG #PV #LV #SN Attr VSize VFree
euleros 2 3 0 wz--n- 108.99g 0
vg 1 1 0 wz--n- <10.00g 1020.00m
[root@EULEER ~]# vgextend vg /dev/sd
/dev/sda2 /dev/sdb1 /dev/sdb2
[root@EULEER ~]# lvextend -L +1020M /dev/vg/vg
Size of logical volume vg/vg changed from 9.00 GiB (2304 extents) to <10.00 GiB (2559 extents).
Logical volume vg/vg successfully resized.
[root@EULEER ~]# vgs
VG #PV #LV #SN Attr VSize VFree
euleros 2 3 0 wz--n- 108.99g 0
vg 1 1 0 wz--n- <10.00g 0
3、
新しい LVM をフォーマットします。
[root@EULEER ~]# mkfs.xfs /dev/vg
vg/ vga_arbiter
[root@EULEER ~]# mkfs.xfs /dev/vg/vg
meta-data=/dev/vg/vg isize=512 agcount=4, agsize=655104 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=0, sparse=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=2560, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
4 、
新しい LVM を確認してください。
[root@EULEER ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 100G 0 disk
├─sda1 8:1 0 1G 0 part /boot
└─sda2 8:2 0 99G 0 part
├─euleros-root 253:0 0 60G 0 lvm /
├─euleros-swap 253:1 0 2G 0 lvm [SWAP]
└─euleros-home 253:2 0 47G 0 lvm /home
sdb 8:16 0 20G 0 disk
├─sdb1 8:17 0 10G 0 part
│ └─euleros-root 253:0 0 60G 0 lvm /
└─sdb2 8:18 0 10G 0 part
└─vg-vg 253:3 0 10G 0 lvm
sdc 8:32 0 30G 0 disk
sr0 11:0 1 4.6G 0 rom /mnt
[root@EULEER ~]# blkid
/dev/sr0: UUID="2019-02-12-00-00-00-00" LABEL="EulerOS V2.0SP5 x86_64" TYPE="iso9660"
/dev/sda1: UUID="3c6a7424-29c8-4d8d-96b8-1c666a2552b5" TYPE="ext4"
/dev/sda2: UUID="vdoK22-iLHE-SXBp-II7t-jr83-YZrT-Ck9hp7" TYPE="LVM2_member"
/dev/sdb1: UUID="WLHsQw-tWIN-1WPD-fmc1-W7nO-diN2-gdE6B4" TYPE="LVM2_member"
/dev/sdb2: UUID="0JBSkV-NnDy-OM7z-CoXb-z4ON-oFrD-4mH5Cv" TYPE="LVM2_member"
/dev/mapper/euleros-root: UUID="2192f98c-8066-4ff4-ab12-38abb88ae21b" TYPE="ext4"
/dev/mapper/euleros-swap: UUID="1ce50f1b-8271-4a6d-bd4f-27b427f195e7" TYPE="swap"
/dev/mapper/euleros-home: UUID="3d61f021-8916-455e-97fe-0411218d85c2" TYPE="ext4"
/dev/mapper/vg-vg: UUID="b97d0da8-09b2-4ad6-a666-4d54f4e0fabc" TYPE="xfs"
[root@EULEER ~]#
[root@EULEER ~]# mount /dev/vg/vg /data1/
[root@EULEER ~]# touch /data1/test
[root@EULEER ~]#
4、
新しいディスク sdc が全体として新しい lvm に追加されます。
#### 注: ご覧のとおり、割り当てられていない合計 39G の容量があり、新しい lvm は vgs コマンドによって 2 回拡張されています。上記の手順はフォーマットされた xfs であるため、xfs_growfs コマンドが使用されます。容量を拡張します。
[root@EULEER ~]# vgextend vg /dev/sdc
Physical volume "/dev/sdc" successfully created.
Volume group "vg" successfully extended
[root@EULEER ~]# vgs
VG #PV #LV #SN Attr VSize VFree
euleros 2 3 0 wz--n- 108.99g 0
vg 2 1 0 wz--n- 39.99g <30.00g
[root@EULEER ~]# lvextend -L +30G /dev/vg/vg
Insufficient free space: 7680 extents needed, but only 7679 available
[root@EULEER ~]# lvextend -L +29G /dev/vg/vg
Size of logical volume vg/vg changed from <10.00 GiB (2559 extents) to <39.00 GiB (9983 extents).
Logical volume vg/vg successfully resized.
[root@EULEER ~]# vgs
VG #PV #LV #SN Attr VSize VFree
euleros 2 3 0 wz--n- 108.99g 0
vg 2 1 0 wz--n- 39.99g 1020.00m
[root@EULEER ~]# lvextend -L +1020M /dev/vg/vg
Size of logical volume vg/vg changed from <39.00 GiB (9983 extents) to 39.99 GiB (10238 extents).
Logical volume vg/vg successfully resized.
[root@EULEER ~]# vgs
VG #PV #LV #SN Attr VSize VFree
euleros 2 3 0 wz--n- 108.99g 0
vg 2 1 0 wz--n- 39.99g 0
[root@EULEER ~]# xfs_growfs /dev/vg
vg/ vga_arbiter
[root@EULEER ~]# xfs_growfs /dev/vg/vg
meta-data=/dev/mapper/vg-vg isize=512 agcount=4, agsize=655104 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=0 spinodes=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 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 2620416 to 10483712
[root@EULEER ~]# df -ah
Filesystem Size Used Avail Use% Mounted on
rootfs - - - - /
sysfs 0 0 0 - /sys
proc 0 0 0 - /proc
devtmpfs 981M 0 981M 0% /dev
securityfs 0 0 0 - /sys/kernel/security
tmpfs 992M 0 992M 0% /dev/shm
devpts 0 0 0 - /dev/pts
tmpfs 992M 9.0M 983M 1% /run
tmpfs 992M 0 992M 0% /sys/fs/cgroup
cgroup 0 0 0 - /sys/fs/cgroup/systemd
pstore 0 0 0 - /sys/fs/pstore
中间的无关紧要的部分略略略。。。。。。。。。。
configfs 0 0 0 - /sys/kernel/config
/dev/mapper/euleros-root 59G 5.1G 51G 9% /
hugetlbfs 0 0 0 - /dev/hugepages
systemd-1 - - - - /proc/sys/fs/binfmt_misc
mqueue 0 0 0 - /dev/mqueue
debugfs 0 0 0 - /sys/kernel/debug
/dev/sr0 4.6G 4.6G 0 100% /mnt
/dev/sda1 976M 115M 795M 13% /boot
/dev/mapper/euleros-home 47G 62M 44G 1% /home
sunrpc 0 0 0 - /var/lib/nfs/rpc_pipefs
tmpfs 199M 0 199M 0% /run/user/0
binfmt_misc 0 0 0 - /proc/sys/fs/binfmt_misc
/dev/mapper/vg-vg 40G 33M 40G 1% /data1
[root@EULEER ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 100G 0 disk
├─sda1 8:1 0 1G 0 part /boot
└─sda2 8:2 0 99G 0 part
├─euleros-root 253:0 0 60G 0 lvm /
├─euleros-swap 253:1 0 2G 0 lvm [SWAP]
└─euleros-home 253:2 0 47G 0 lvm /home
sdb 8:16 0 20G 0 disk
├─sdb1 8:17 0 10G 0 part
│ └─euleros-root 253:0 0 60G 0 lvm /
└─sdb2 8:18 0 10G 0 part
└─vg-vg 253:3 0 40G 0 lvm /data1
sdc 8:32 0 30G 0 disk
└─vg-vg 253:3 0 40G 0 lvm /data1
sr0 11:0 1 4.6G 0 rom /mnt
[root@EULEER ~]# blkid
/dev/sr0: UUID="2019-02-12-00-00-00-00" LABEL="EulerOS V2.0SP5 x86_64" TYPE="iso9660"
/dev/sda1: UUID="3c6a7424-29c8-4d8d-96b8-1c666a2552b5" TYPE="ext4"
/dev/sda2: UUID="vdoK22-iLHE-SXBp-II7t-jr83-YZrT-Ck9hp7" TYPE="LVM2_member"
/dev/sdb1: UUID="WLHsQw-tWIN-1WPD-fmc1-W7nO-diN2-gdE6B4" TYPE="LVM2_member"
/dev/sdb2: UUID="0JBSkV-NnDy-OM7z-CoXb-z4ON-oFrD-4mH5Cv" TYPE="LVM2_member"
/dev/mapper/euleros-root: UUID="2192f98c-8066-4ff4-ab12-38abb88ae21b" TYPE="ext4"
/dev/mapper/euleros-swap: UUID="1ce50f1b-8271-4a6d-bd4f-27b427f195e7" TYPE="swap"
/dev/mapper/euleros-home: UUID="3d61f021-8916-455e-97fe-0411218d85c2" TYPE="ext4"
/dev/mapper/vg-vg: UUID="b97d0da8-09b2-4ad6-a666-4d54f4e0fabc" TYPE="xfs"
/dev/sdc: UUID="LTxfMg-F415-NVrC-U5nr-N94x-auj6-8S1Rzf" TYPE="LVM2_member"