parted
コマンドを使ったLVM領域を作成する方法を記載した。RHEL 7でpartedコマンドを使って、2TB以上のディスクをLVMとして使えるようにする
上記と流れは同一となるが、可能な限り効率化して短い手順でLVM領域を作成する方法を検討したので、以下に記載する。
その他、LVMを使った各種作業手順を確認してみたので、数回に分けて記載していくことにする。
手順 | 記事 |
---|---|
LVM領域作成 | 【LVM入門】LinuxのLVM領域を最短で作成する←★本記事 |
LVM領域削除 | 【LVM入門】LinuxのLVMで作成したディスクを削除する |
LVM領域拡張 | 【LVM入門】LinuxのLVMでディスク容量を拡張する |
LVM領域縮小 | 【LVM入門】LinuxのLVMでディスク容量を縮小する |
VG・LV名前変更 | 【LVM入門】LinuxのLVMで作成済みのVGやLVの名前を変更する |
parted
コマンドを使って1行でパーティションを作成
今回の肝は、parted
コマンドを使って1行でLVMのパーティションを作成することだ。以下のように-s
オプションを付与して、設定に必要なコマンドを羅列する。[root@localhost ~]# parted -s /dev/sdb "mklabel gpt mkpart ' ' 0% 100% set 1 lvm on print"
モデル: VMware Virtual disk (scsi)
ディスク /dev/sdb: 2147MB
セクタサイズ (論理/物理): 512B/512B
パーティションテーブル: gpt
ディスクフラグ:
番号 開始 終了 サイズ ファイルシステム 名前 フラグ
1 1049kB 2146MB 2145MB lvm
LVMとファイルシステムの設定
上記parted
コマンドを考慮しつつ、最短でLVMとファイルシステムの設定を行い、マウントまで行うことを目標とする。結果、以下7行のコマンドとなった。
dev
は変数とし、設定したいディスクデバイスを指定する。dev="/dev/sdb"
parted -s ${dev} "mklabel gpt mkpart ' ' 0% 100% set 1 lvm on print"
pvcreate "${dev}1"
vgcreate "vg_${dev##*/}1" "${dev}1"
lvcreate -n "lv_${dev##*/}1" -l 100%FREE "vg_${dev##*/}1"
mkfs.xfs /dev/"vg_${dev##*/}1"/"lv_${dev##*/}1"
mount /dev/mapper/"vg_${dev##*/}1"-"lv_${dev##*/}1" /mnt/
実際の実行結果は以下となる。[root@localhost ~]# dev="/dev/sdb"
[root@localhost ~]# parted -s ${dev} "mklabel gpt mkpart ' ' 0% 100% set 1 lvm on print"
モデル: VMware Virtual disk (scsi)
ディスク /dev/sdb: 2147MB
セクタサイズ (論理/物理): 512B/512B
パーティションテーブル: gpt
ディスクフラグ:
番号 開始 終了 サイズ ファイルシステム 名前 フラグ
1 1049kB 2146MB 2145MB lvm
[root@localhost ~]# pvcreate "${dev}1"
Physical volume "/dev/sdb1" successfully created.
[root@localhost ~]# vgcreate "vg_${dev##*/}1" "${dev}1"
Volume group "vg_sdb1" successfully created
[root@localhost ~]# lvcreate -n "lv_${dev##*/}1" -l 100%FREE "vg_${dev##*/}1"
Logical volume "lv_sdb1" created.
[root@localhost ~]# mkfs.xfs /dev/"vg_${dev##*/}1"/"lv_${dev##*/}1"
meta-data=/dev/vg_sdb1/lv_sdb1 isize=512 agcount=4, agsize=130816 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=0, sparse=0
data = bsize=4096 blocks=523264, 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
[root@localhost ~]# mount /dev/mapper/"vg_${dev##*/}1"-"lv_${dev##*/}1" /mnt/
一通り確認コマンドを打っておく。[root@localhost ~]# pvs
PV VG Fmt Attr PSize PFree
/dev/sda2 rhel lvm2 a-- <15.00g 0
/dev/sdb1 vg_sdb1 lvm2 a-- <2.00g 0
[root@localhost ~]# vgs
VG #PV #LV #SN Attr VSize VFree
rhel 1 2 0 wz--n- <15.00g 0
vg_sdb1 1 1 0 wz--n- <2.00g 0
[root@localhost ~]# lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
root rhel -wi-ao---- 13.39g
swap rhel -wi-ao---- 1.60g
lv_sdb1 vg_sdb1 -wi-ao---- <2.00g
[root@localhost ~]# df -h
ファイルシス サイズ 使用 残り 使用% マウント位置
/dev/mapper/rhel-root 14G 1.2G 13G 9% /
devtmpfs 908M 0 908M 0% /dev
tmpfs 920M 0 920M 0% /dev/shm
tmpfs 920M 8.9M 911M 1% /run
tmpfs 920M 0 920M 0% /sys/fs/cgroup
/dev/sda1 1014M 146M 869M 15% /boot
tmpfs 184M 0 184M 0% /run/user/0
/dev/mapper/vg_sdb1-lv_sdb1 2.0G 33M 2.0G 2% /mnt
以上となる。
0 件のコメント:
コメントを投稿