磁盘挂载
刚在vmcenter 添加了一块磁盘的时候是看不到磁盘信息的,lsblk查看之后原来的sda,没有新添加的磁盘
[root@localhost ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 100G 0 disk
├─sda1 8:1 0 476M 0 part /boot
├─sda2 8:2 0 52G 0 part
│ ├─rootvg-syslv 253:0 0 18.6G 0 lvm /
│ ├─rootvg-swap 253:1 0 7.5G 0 lvm [SWAP]
│ ├─rootvg-usr 253:2 0 18.6G 0 lvm /usr
│ ├─rootvg-home 253:3 0 1.9G 0 lvm /home
│ └─rootvg-var 253:4 0 5.4G 0 lvm /var
└─sda3 8:3 0 47.6G 0 part
sr0 11:0 1 1024M 0 rom
刷盘
这时候需要执行刷盘操作,步骤如下
查看磁盘信息
查看原来的磁盘走的那个磁盘IO
[root@localhost ~]# ls -l /sys/block
total 0
lrwxrwxrwx 1 root root 0 Sep 29 09:34 dm-0 -> ../devices/virtual/block/dm-0
lrwxrwxrwx 1 root root 0 Sep 29 09:34 dm-1 -> ../devices/virtual/block/dm-1
lrwxrwxrwx 1 root root 0 Sep 29 09:34 dm-2 -> ../devices/virtual/block/dm-2
lrwxrwxrwx 1 root root 0 Sep 29 09:34 dm-3 -> ../devices/virtual/block/dm-3
lrwxrwxrwx 1 root root 0 Sep 29 09:34 dm-4 -> ../devices/virtual/block/dm-4
lrwxrwxrwx 1 root root 0 Sep 29 09:34 dm-5 -> ../devices/virtual/block/dm-5
lrwxrwxrwx 1 root root 0 Sep 29 09:34 loop0 -> ../devices/virtual/block/loop0
lrwxrwxrwx 1 root root 0 Sep 29 09:34 loop1 -> ../devices/virtual/block/loop1
lrwxrwxrwx 1 root root 0 Sep 29 09:34 sda -> ../devices/pci0000:00/0000:00:10.0/host2/target2:0:0/2:0:0:0/block/sda
可以看到这个sda 走的是host2
sda -> …/devices/pci0000:00/0000:00:10.0/host2/target2:0:0/2:0:0:0/block/sda
看一下原来的磁盘走的是哪一个磁盘IO。如下面走的是host2
执行刷盘命令
echo "- - -" > /sys/class/scsi_host/host2/scan
验证情况
再看一眼磁盘情况,可以看到有sdb出现了
[root@localhost block]# ll
total 0
lrwxrwxrwx 1 root root 0 Sep 29 09:34 dm-0 -> ../devices/virtual/block/dm-0
lrwxrwxrwx 1 root root 0 Sep 29 09:34 dm-1 -> ../devices/virtual/block/dm-1
lrwxrwxrwx 1 root root 0 Sep 29 09:34 dm-2 -> ../devices/virtual/block/dm-2
lrwxrwxrwx 1 root root 0 Sep 29 09:34 dm-3 -> ../devices/virtual/block/dm-3
lrwxrwxrwx 1 root root 0 Sep 29 09:34 dm-4 -> ../devices/virtual/block/dm-4
lrwxrwxrwx 1 root root 0 Sep 29 09:34 dm-5 -> ../devices/virtual/block/dm-5
lrwxrwxrwx 1 root root 0 Sep 29 09:34 loop0 -> ../devices/virtual/block/loop0
lrwxrwxrwx 1 root root 0 Sep 29 09:34 loop1 -> ../devices/virtual/block/loop1
lrwxrwxrwx 1 root root 0 Sep 29 09:34 sda -> ../devices/pci0000:00/0000:00:10.0/host2/target2:0:0/2:0:0:0/block/sda
lrwxrwxrwx 1 root root 0 Sep 29 14:57 sdb -> ../devices/pci0000:00/0000:00:10.0/host2/target2:0:1/2:0:1:0/block/sdb
lrwxrwxrwx 1 root root 0 Sep 29 09:34 sr0 -> ../devices/pci0000:00/0000:00:07.1/ata2/host1/target1:0:0/1:0:0:0/block/sr0
lsblk也看一下~也有了sdb盘
[root@localhost block]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 100G 0 disk
├─sda1 8:1 0 476M 0 part /boot
├─sda2 8:2 0 52G 0 part
│ ├─rootvg-syslv 253:0 0 18.6G 0 lvm /
│ ├─rootvg-swap 253:1 0 7.5G 0 lvm [SWAP]
│ ├─rootvg-usr 253:2 0 18.6G 0 lvm /usr
│ ├─rootvg-home 253:3 0 1.9G 0 lvm /home
│ └─rootvg-var 253:4 0 5.4G 0 lvm /var
└─sda3 8:3 0 47.6G 0 part
sdb 8:16 0 100G 0 disk
sr0 11:0 1 1024M 0 rom
loop0 7:0 0 100G 0 loop
└─docker-253:4-39301-pool 253:5 0 100G 0 dm
loop1 7:1 0 2G 0 loop
└─docker-253:4-39301-pool 253:5 0 100G 0 dm
新建磁盘
(主要步骤就是:pv—>vg—>lv—>磁盘格式化—>挂载)要理解PV-VG-LV的具体含义的,可以去百度一下~这里只仅仅写了如何操作
创建PV
我这边挂载的是/dev/sdb盘
[root@localhost block]# pvs
PV VG Fmt Attr PSize PFree
/dev/sda2 rootvg lvm2 a-- 51.98g 0
/dev/sda3 rootvg lvm2 a-- <47.55g <47.55g
##创建PV
pvcreate /dev/sdb
##查看结果
[root@localhost ~]# pvs
PV VG Fmt Attr PSize PFree
/dev/sda2 rootvg lvm2 a-- 51.98g 0
/dev/sda3 rootvg lvm2 a-- <47.55g <47.55g
/dev/sdb lvm2 --- 100.00g 100.00g
创建VG
当前vg情况查看:vgs命令
[root@localhost ~]# vgs
VG #PV #LV #SN Attr VSize VFree
rootvg 2 5 0 wz--n- <99.53g <47.55g
##创建新vg
vgcreate Voolvg /dev/sdb
命令行解释:vgcreate Voolvg (自定义的vg名称) /dev/sdb (新添加的磁盘)
查看一下结果(这里使用的创建新VG哈)
[root@localhost ~]# vgs
VG #PV #LV #SN Attr VSize VFree
Voolvg 1 0 0 wz--n- <100.00g <100.00g
rootvg 2 5 0 wz--n- <99.53g <47.55g
创建LV
当前lv情况查看命令:lvs
[root@localhost ~]# lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
home rootvg -wi-ao---- 1.86g
swap rootvg -wi-ao---- 7.45g
syslv rootvg -wi-ao---- <18.63g
usr rootvg -wi-ao---- <18.63g
var rootvg -wi-ao---- <5.41g
##
lvcreate -l 100%VG -n Voolvg001 Voolvg
命令行解释:lvcreate -l (常用的就是两个-l和-L,-l 后面是添加百分比、-L 后面添加的大小;eg:-l 90%VG ; -L 50G) 100%VG (把VG的余量全部给新创建的lv) -n Voolvg001 (新的lv的名称) Voolvg (vg名称)
这里可以看到新增了一个voolvg001
[root@localhost ~]# lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
Voolvg001 Voolvg -wi-a----- <100.00g
home rootvg -wi-ao---- 1.86g
swap rootvg -wi-ao---- 7.45g
syslv rootvg -wi-ao---- <18.63g
usr rootvg -wi-ao---- <18.63g
var rootvg -wi-ao---- <5.41g
磁盘格式化
使用的是ext4格式进行格式化,后期可以进行缩容。之前使用的是默认的xfs,发现不能缩容。
[root@localhost ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 100G 0 disk
├─sda1 8:1 0 476M 0 part /boot
├─sda2 8:2 0 52G 0 part
│ ├─rootvg-syslv 253:0 0 18.6G 0 lvm /
│ ├─rootvg-swap 253:1 0 7.5G 0 lvm [SWAP]
│ ├─rootvg-usr 253:2 0 18.6G 0 lvm /usr
│ ├─rootvg-home 253:3 0 1.9G 0 lvm /home
│ └─rootvg-var 253:4 0 5.4G 0 lvm /var
└─sda3 8:3 0 47.6G 0 part
sdb 8:16 0 100G 0 disk
└─Voolvg-Voolvg001 253:6 0 100G 0 lvm
[root@localhost ~]# fdisk -l
Disk /dev/sdb: 107.4 GB, 107374182400 bytes, 209715200 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 /dev/mapper/Voolvg-Voolvg001: 107.4 GB, 107369988096 bytes, 209707008 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盘:/dev/mapper/Voolvg-Voolvg001
格式化磁盘
mkfs.ext4 /dev/mapper/Voolvg-Voolvg001
磁盘挂载尝试一下
##需要先创建要挂载的磁盘
[root@localhost ~]# mkdir -p /application
##磁盘挂载
[root@localhost ~]# mount /dev/mapper/Voolvg-Voolvg001 /application
##查看一下结果,多出了一个/application/的挂载点
[root@localhost ~]# df -Th
Filesystem Type Size Used Avail Use% Mounted on
devtmpfs devtmpfs 974M 0 974M 0% /dev
tmpfs tmpfs 991M 0 991M 0% /dev/shm
tmpfs tmpfs 991M 106M 885M 11% /run
tmpfs tmpfs 991M 0 991M 0% /sys/fs/cgroup
/dev/mapper/rootvg-syslv xfs 19G 1.5G 18G 8% /
/dev/mapper/rootvg-usr xfs 19G 6.6G 13G 36% /usr
/dev/sda1 xfs 473M 285M 188M 61% /boot
/dev/mapper/rootvg-var xfs 5.4G 1.7G 3.8G 31% /var
/dev/mapper/rootvg-home xfs 1.9G 33M 1.9G 2% /home
tmpfs tmpfs 199M 0 199M 0% /run/user/0
/dev/mapper/Voolvg-Voolvg001 ext4 99G 61M 94G 1% /application
现在把它放在/etc/fstab文件中,这样重启主机也会自动挂载 (添加了之后一行)
[root@wj-infra-prd-9355717a ~]# cat /etc/fstab
/dev/mapper/rootvg-syslv / xfs defaults 0 0
UUID=3c672b5d-7e46-4f25-9b90-2b69ac4e86a3 /boot xfs defaults 0 0
/dev/mapper/rootvg-home /home xfs defaults 0 0
/dev/mapper/rootvg-usr /usr xfs defaults 0 0
/dev/mapper/rootvg-var /var xfs defaults 0 0
/dev/mapper/rootvg-swap swap swap defaults 0 0
/dev/mapper/Voolvg-Voolvg001 /application ext4 defaults 0 0
就此创建新磁盘结束了~
不看详解,只看步骤
所有的步骤整理如下如下
pvcreate /dev/sdb
vgcreate Voolvg /dev/sdb
lvcreate -l 100%VG -n Voolvg001 Voolvg
mkfs.ext4 /dev/mapper/Voolvg-Voolvg001
echo "/dev/mapper/Voolvg-Voolvg001 /application ext4 defaults 0 0" >>/etc/fstab
mkdir -p /application
mount -a
扩容
(主要步骤就是:pv—>vg—>lv—>磁盘扩容)
本次要扩容data目录的空间,先查看具体情况
[root@wj-opsp-dev-web2 ~]# df -Th
Filesystem Type Size Used Avail Use% Mounted on
devtmpfs devtmpfs 7.9G 0 7.9G 0% /dev
/dev/mapper/rootvg-syslv xfs 19G 292M 19G 2% /
/dev/mapper/rootvg-usr xfs 19G 6.7G 12G 36% /usr
/dev/sda1 xfs 473M 244M 230M 52% /boot
/dev/mapper/rootvg-var xfs 5.4G 4.5G 954M 83% /var
/dev/mapper/voolvg-data xfs 100G 100G 12K 100% /data
可以看出来要扩容的磁盘的vg为voolvg lv为data
新建一个磁盘扩容
创建pv
参考新建磁盘的步骤
扩容VG
此处我要把/dev/sdb 的空间 扩容给 voolvg
##查看当前VG情况
[root@localhost ~]# vgs
File descriptor 3 (socket:[495732500]) leaked on vgs invocation. Parent PID 6689: -bash
VG #PV #LV #SN Attr VSize VFree
rootvg 2 5 0 wz--n- <99.53g <47.55g
voolvg 1 1 0 wz--n- <100.00g 0
##将sdb的空间扩容给vg:voolvg里面
[root@localhost ~]# vgextend voolvg /dev/sdb
File descriptor 3 (socket:[495732500]) leaked on vgextend invocation. Parent PID 6689: -bash
Volume group "voolvg" successfully extended
##再查看一下vg的空间,可以看到总计是300G了。
[root@localhost ~]# vgs
File descriptor 3 (socket:[495732500]) leaked on vgs invocation. Parent PID 6689: -bash
VG #PV #LV #SN Attr VSize VFree
rootvg 2 5 0 wz--n- <99.53g <47.55g
voolvg 2 1 0 wz--n- 299.99g <200.00g
扩容LV
##查看一下lv的情况
[root@localhost ~]# lvs
File descriptor 3 (socket:[495732500]) leaked on lvs invocation. Parent PID 6689: -bash
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
home rootvg -wi-ao---- 1.86g
data voolvg -wi-ao---- <100.00g
##将vg多余的空间都给到lv-data
[root@localhost ~]# lvextend -l +100%FREE /dev/voolvg/data
File descriptor 3 (socket:[495732500]) leaked on lvextend invocation. Parent PID 6689: -bash
Size of logical volume voolvg/data changed from <100.00 GiB (25599 extents) to 299.99 GiB (76798 extents).
Logical volume voolvg/data successfully resized.
##再查看一下lv的情况,可以看到data已经为300G了
[root@localhost ~]# lvs
File descriptor 3 (socket:[495732500]) leaked on lvs invocation. Parent PID 6689: -bash
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
home rootvg -wi-ao---- 1.86g
swap rootvg -wi-ao---- 7.45g
syslv rootvg -wi-ao---- <18.63g
usr rootvg -wi-ao---- <18.63g
var rootvg -wi-ao---- <5.41g
data voolvg -wi-ao---- 299.99g
磁盘扩容
查看一下要扩容的目录的磁盘格式化格式。
- xfs类型文件系统 扩展文件系统命令为 xfs_growfs
- ext类型文件系统 扩展文件系统命令为 resize2fs
[root@localhost ~]# df -Th
Filesystem Type Size Used Avail Use% Mounted on
devtmpfs devtmpfs 7.9G 0 7.9G 0% /dev
/dev/mapper/rootvg-syslv xfs 19G 292M 19G 2% /
/dev/mapper/rootvg-usr xfs 19G 6.7G 12G 36% /usr
/dev/sda1 xfs 473M 244M 230M 52% /boot
/dev/mapper/rootvg-var xfs 5.4G 4.5G 954M 83% /var
/dev/mapper/voolvg-data xfs 100G 100G 12K 100% /data
/dev/mapper/rootvg-home xfs 1.9G 41M 1.9G 3% /home
可以看到此处要扩容的data的文件类型为 xfs
[root@localhost ~]# xfs_growfs /data
meta-data=/dev/mapper/voolvg-data isize=512 agcount=4, agsize=6553344 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=0 spinodes=0
data = bsize=4096 blocks=26213376, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=1
log =internal bsize=4096 blocks=12799, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
data blocks changed from 26213376 to 78641152
##扩容完看一下,/data目录更改为了300G
[root@localhost ~]# df -Th
Filesystem Type Size Used Avail Use% Mounted on
devtmpfs devtmpfs 7.9G 0 7.9G 0% /dev
/dev/mapper/rootvg-syslv xfs 19G 292M 19G 2% /
/dev/mapper/rootvg-usr xfs 19G 6.7G 12G 36% /usr
/dev/sda1 xfs 473M 244M 230M 52% /boot
/dev/mapper/rootvg-var xfs 5.4G 4.5G 954M 83% /var
/dev/mapper/voolvg-data xfs 300G 100G 200G 34% /data
/dev/mapper/rootvg-home xfs 1.9G 41M 1.9G 3% /home
不看详解,只看步骤
pvcreate /dev/sdb
vgextend voolvg /dev/sdb
lvextend -l +100%FREE /dev/voolvg/data
xfs_growfs /data
在原磁盘上扩容
(主要步骤就是:pv—>lv—>磁盘扩容)
调整物理卷大小
此处调整的是/dev/sdc
##可以看到当前/app的大小是150
[root@wj-infra-prd-9355717a ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 100G 0 disk
├─sda1 8:1 0 476M 0 part /boot
├─sda2 8:2 0 52G 0 part
│ ├─rootvg-syslv 253:0 0 18.6G 0 lvm /
└─sda3 8:3 0 47.6G 0 part
sdb 8:16 0 100G 0 disk
└─Voolvg-Voolvg001 253:6 0 100G 0 lvm /application
sdc 8:32 0 150G 0 disk
└─VolGroup-VolGroup01 253:5 0 150G 0 lvm /app
sr0 11:0 1 1024M 0 rom
##当前是150G
[root@localhost ~]# vgs
VG #PV #LV #SN Attr VSize VFree
VolGroup 1 1 0 wz--n- <150.00g 0
rootvg 2 5 0 wz--n- <99.53g <47.55g
##重新变更一下磁盘空间
[root@localhost ~]# pvresize /dev/sdc
Physical volume "/dev/sdc" changed
1 physical volume(s) resized or updated / 0 physical volume(s) not resized
再看一下VG的情况
[root@localhost ~]# vgs
VG #PV #LV #SN Attr VSize VFree
VolGroup 1 1 0 wz--n- <200.00g 50.00g
Voolvg 1 1 0 wz--n- <100.00g 0
rootvg 2 5 0 wz--n- <99.53g <47.55g
可以看到多出了50G
LV扩容
扩容LV
参考扩容中–新建一个磁盘扩容—扩容 步骤
删除
(主要步骤跟新建倒过来:去掉挂载盘—删除vg—删除pv—vcenter上面删除硬盘)
我想要删除/app 这个目录。 lsblk看一下,是在/dev/sdc 这个硬盘上
[root@localhost ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 100G 0 disk
├─sda1 8:1 0 476M 0 part /boot
├─sda2 8:2 0 52G 0 part
│ ├─rootvg-syslv 253:0 0 18.6G 0 lvm /
│ ├─rootvg-swap 253:1 0 7.5G 0 lvm [SWAP]
│ ├─rootvg-usr 253:2 0 18.6G 0 lvm /usr
│ ├─rootvg-home 253:3 0 1.9G 0 lvm /home
│ └─rootvg-var 253:4 0 5.4G 0 lvm /var
└─sda3 8:3 0 47.6G 0 part
sdb 8:16 0 100G 0 disk
└─Voolvg-Voolvg001 253:6 0 100G 0 lvm /application
sdc 8:32 0 200G 0 disk
└─VolGroup-VolGroup01 253:5 0 200G 0 lvm /app
sr0 11:0 1 1024M 0 rom
去掉挂载盘
umount /app
删除/etc/fstab 文件中挂载/app的那一部分。此处是标黄色的部分
/dev/mapper/Voolvg-Voolvg001 /application ext4 defaults 0 0
/dev/mapper/VolGroup-VolGroup01 /app ext4 defaults 0 0
删除VG
/app 挂载的是 vg是VolGroup。删除vg
[root@localhost ~]# vgremove VolGroup
Do you really want to remove volume group "VolGroup" containing 1 logical volumes? [y/n]: y
Do you really want to remove active logical volume VolGroup/VolGroup01? [y/n]: y
Logical volume "VolGroup01" successfully removed
Volume group "VolGroup" successfully removed
##查看一下
[root@localhost ~]# vgs
VG #PV #LV #SN Attr VSize VFree
Voolvg 1 1 0 wz--n- <100.00g 0
rootvg 2 5 0 wz--n- <99.53g <47.55g
删除PV
删除/dev/sdc 这一个pv
[root@localhost ~]# pvremove /dev/sdc
Labels on physical volume "/dev/sdc" successfully wiped.
##看一下没有这个pv了
[root@localhost ~]# pvs
PV VG Fmt Attr PSize PFree
/dev/sda2 rootvg lvm2 a-- 51.98g 0
/dev/sda3 rootvg lvm2 a-- <47.55g <47.55g
/dev/sdb Voolvg lvm2 a-- <100.00g 0
vcenter上面删除硬盘
查看一下硬盘挂载的SCSI是几.可以看出是 host2/target2:0:2 挂载的是0:2
[root@localhost ~]# ls -l /sys/block/
lrwxrwxrwx 1 root root 0 Nov 28 14:25 sdc -> ../devices/pci0000:00/0000:00:10.0/host2/target2:0:2/2:0:2:0/block/sdc
登录vcenter 查看0:2的是哪一个。可以看出来是硬盘3。删除这个硬盘3,重启主机。
再登录主机看一下,是没有sdc硬盘的了
[root@localhost ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 100G 0 disk
├─sda1 8:1 0 476M 0 part /boot
├─sda2 8:2 0 52G 0 part
│ ├─rootvg-syslv 253:0 0 18.6G 0 lvm /
│ ├─rootvg-swap 253:1 0 7.5G 0 lvm [SWAP]
│ ├─rootvg-usr 253:2 0 18.6G 0 lvm /usr
│ ├─rootvg-home 253:3 0 1.9G 0 lvm /home
│ └─rootvg-var 253:4 0 5.4G 0 lvm /var
└─sda3 8:3 0 47.6G 0 part
sdb 8:16 0 100G 0 disk
└─Voolvg-Voolvg001 253:5 0 100G 0 lvm /application
sr0 11:0 1 1024M 0 rom