文章目录
- lv的创建流程说明
- -bash: lvs: command not found处理方法
- lv的创建、删除、使用及增减容量
- 硬盘分区设置或查看
- pv操作
- 创建pv
- 删除pv
- vg操作
- vg详细信息查看
- 创建vg
- 删除vg
- vg重命名
- 新增vg容量【vg扩容】
- lv操作
- 创建lv
- 删除lv
- 使用lv
- lv重命名
- 增加使用中lv容量【扩容】
- xfs格式刷新
- ext4格式刷新
- 减少使用中lv容量【缩容】
- lv的快照
- 利用原始lv,来恢复快照里的东西
- 利用快照来恢复原始lv
- lv脚本创建说明
- 手动创建lv流程回顾
- 脚本自动创建lv方法
- 系统重装后lsblk看不到外挂盘的lv分区信息&外挂盘重装后mount挂载方发
lv的创建流程说明
不要使用普通的标准分区装系统,而是要使用lv的方式, 因为lv的空间是可变的(注:/boot分区是不能放在lv中的)。
- 物理磁盘是不能直接使用逻辑卷的,需要把物理磁盘转为pv,在创建卷组vg,最后才划为lv, 流程就是
pv→vg→lv
。
- /dev/sd*是硬盘
- pv是物理卷
- vg是卷组
- lv是逻辑卷
-bash: lvs: command not found处理方法
- 最小化安装的可能就没有lv命令,图形化安装的不存在这种情况。
[root@xz-ras-data ~]# pvs
-bash: pvs: command not found
[root@xz-ras-data ~]# lvs
-bash: lvs: command not found
[root@xz-ras-data ~]#
- 处理方法,安装lvm2即可
[root@xz-ras-data ~]# yum -y install lvm2
。。。
Verifying : 7:device-mapper-event-libs-1.02.149-8.el7.x86_64 8/10
Verifying : 7:device-mapper-1.02.140-8.el7.x86_64 9/10
Verifying : 7:device-mapper-libs-1.02.140-8.el7.x86_64 10/10
Installed:
lvm2.x86_64 7:2.02.180-8.el7
Dependency Installed:
device-mapper-event.x86_64 7:1.02.149-8.el7 device-mapper-event-libs.x86_64 7:1.02.149-8.el7 device-mapper-persistent-data.x86_64 0:0.7.3-3.el7 libaio.x86_64 0:0.3.109-13.el7 lvm2-libs.x86_64 7:2.02.180-8.el7
Dependency Updated:
device-mapper.x86_64 7:1.02.149-8.el7 device-mapper-libs.x86_64 7:1.02.149-8.el7
Complete!
lv的创建、删除、使用及增减容量
硬盘分区设置或查看
- 查看分区格式:
fdisk -l 设备名
- 创建之前需要需要确定磁盘格式为lvm,如果不是lvm去转换一下格式,方法提醒:
fdisk 设备名
注:分区完以后记得按t
进行格式转换【lvm参数是8e
】 - 如下,我化一个1.5t的空间为lvm格式
[root@xz-ras-data ~]# fdisk /dev/vdb
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): p
Disk /dev/vdb: 1649.3 GB, 1649267441664 bytes, 3221225472 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: 0xfcb78ee4
Device Boot Start End Blocks Id System
/dev/vdb1 2048 67110911 33554432 82 Linux swap / Solaris
Command (m for help): n
Partition type:
p primary (1 primary, 0 extended, 3 free)
e extended
Select (default p): p
Partition number (2-4, default 2):
First sector (67110912-3221225471, default 67110912):
Using default value 67110912
Last sector, +sectors or +size{K,M,G} (67110912-3221225471, default 3221225471):
Using default value 3221225471
Partition 2 of type Linux and of size 1.5 TiB is set
Command (m for help): e
e: unknown command
Command action
a toggle a bootable flag
b edit bsd disklabel
c toggle the dos compatibility flag
d delete a partition
g create a new empty GPT partition table
G create an IRIX (SGI) partition table
l list known partition types
m print this menu
n add a new partition
o create a new empty DOS partition table
p print the partition table
q quit without saving changes
s create a new empty Sun disklabel
t change a partition's system id
u change display/entry units
v verify the partition table
w write table to disk and exit
x extra functionality (experts only)
Command (m for help): t
Partition number (1,2, default 2): 2
Hex code (type L to list all codes): 8e
Changed type of partition 'Linux' to 'Linux LVM'
Command (m for help): p
Disk /dev/vdb: 1649.3 GB, 1649267441664 bytes, 3221225472 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: 0xfcb78ee4
Device Boot Start End Blocks Id System
/dev/vdb1 2048 67110911 33554432 82 Linux swap / Solaris
/dev/vdb2 67110912 3221225471 1577057280 8e Linux LVM
Command (m for help): w
The partition table has been altered!
Calling ioctl() to re-read partition table.
WARNING: Re-reading the partition table failed with error 16: Device or resource busy.
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)
Syncing disks.
[root@xz-ras-data ~]# partprobe /dev/vdb
[root@xz-ras-data ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sr0 11:0 1 478K 0 rom
vda 253:0 0 300G 0 disk
└─vda1 253:1 0 300G 0 part /
vdb 253:16 0 1.5T 0 disk
├─vdb1 253:17 0 32G 0 part [SWAP]
└─vdb2 253:18 0 1.5T 0 part
[root@xz-ras-data ~]#
pv操作
创建pv
pvscan
\ pvs
:查看系统中是现有pv
pvcreate 设备名
: 添加pv
[root@xz-ras-data ~]# pvscan
No matching physical volumes found
[root@xz-ras-data ~]# pvcreate /dev/vd^C
[root@xz-ras-data ~]#
[root@xz-ras-data ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sr0 11:0 1 478K 0 rom
vda 253:0 0 300G 0 disk
└─vda1 253:1 0 300G 0 part /
vdb 253:16 0 1.5T 0 disk
├─vdb1 253:17 0 32G 0 part [SWAP]
└─vdb2 253:18 0 1.5T 0 part
[root@xz-ras-data ~]# pvcreate /dev/vdb2
Physical volume "/dev/vdb2" successfully created.
[root@xz-ras-data ~]# pvscan
PV /dev/vdb2 lvm2 [<1.47 TiB]
Total: 1 [<1.47 TiB] / in use: 0 [0 ] / in no VG: 1 [<1.47 TiB]
[root@xz-ras-data ~]#
删除pv
pvremove 设备名
: 删除pv
vg操作
vg详细信息查看
vgdisplay 卷名
:查看卷组vg详细,不加卷名直接vgdisplay就是查看所有卷组
创建vg
-
vgscan
\vgs
:查看vg卷组 vgcreate 卷组名 设备名
:创建卷(vm)组- 默认卷大小是4m,就是说存储必须是4的整数倍,如果存了5M 实际占用空间是8M。
默认卷是可以更改的,但只能在创建vg的时候定义,创建成功以后便不能更改,定义卷大小参数-s ,如 定义一个8m的卷大小:vgcreate -s 8 vg0 /dev/sdb9
[root@xz-ras-data ~]# vgs
[root@xz-ras-data ~]# vgcreate vgdata /dev/vdb2
Volume group "vgdata" successfully created
[root@xz-ras-data ~]# vgs
VG #PV #LV #SN Attr VSize VFree
vgdata 1 0 0 wz--n- <1.47t <1.47t
[root@xz-ras-data ~]#
删除vg
- 删除vg:
vgremove vgname
[root@xz-pms-web-2 ~]# vgremove vgdata
Volume group "vgdata" successfully removed
[root@xz-pms-web-2 ~]#
vgreduce 卷组名 设备名
:剔除卷组vg
vg重命名
vgrename 现vg名 新vm名
:更改vg名
新增vg容量【vg扩容】
- 注意:新盘划分区的时候 需要t转换为lvm格式(8e) :
fdisk 设备名
- vg名查看:
vgs \ vgdisplay
- 新硬盘分区查看:
fdisk -l
- 后期增加vg大小:
vgextend vg名 磁盘设备名
- 如这里的vg名(vgdisplay可以查看)是
cl
- 新划分区名是:
/dev/sda3
- 则:
vgextend cl /dev/sda3
把容量划到vg中: - 输
入vgdisplay
:就可以看到vg中新增后的总容量了 - 注:如果添加成功以后
fdisk -l
可以看到盘,添加找不到新设备名 这是系统bug,重启即可,也可以等待几个小时等待系统后台数据库自动更新也可。
- 新增完以后就可以正常划分新的lv使用了:
创建lv-格式化lv-挂载lv
; - 【很少遇到,了解一下留个印象】在这种系统不会自动更新磁盘信息的情况下:如果我们新建一个主分区 格式化 后可以直接使用,但挂载信息可能会和fdisk中创建的不符,
- 如果重启后,信息就会更新,但这时就会发现 该硬盘分区不能挂载了,提示不能读取超级快:
- 这种情况是因为 格式化硬盘时读取的值是之前112G的状态,重启以后该信息不见了,所以导致无法正常使用,需要重新格式化,但直接格式化会失败,所以需要加个
-f
,强制格式化:
当前系统是centos7,这些问题是系统bug的原因,后面7.6上并不会出现这种问题,感谢 西藏于总 耐心分析和无私分享几十年的经验 给我解决了上面的疑问。
lv操作
创建lv
lvscan
\lvs
:查看lv逻辑卷- lv创建格式:
lvcreate -L 大小(M,G) -n lv名称 卷名(vgs查看)
:就是在vg卷中提取指定大小空间创建为lv(大小需要为pe size (默认卷)的整数倍 如果不是,会自动增加到pesize的整数倍,如,4m的默认卷,创建了98M,会自动分配为100M): lvcreate -l(L) 默认卷数量 -n 卷名 vg名
:根据定义的默认卷数量自动分配空间,如默认卷是4m的情况下,分配25个默认卷,则是100M的空间:lvcreate -l 25 -n lv1 vg0
:lvcreate -l 数字%free -n lv名 卷名
:根据百分比自动分配剩余空间,如分配剩余空间的30%:lvcreate -l 30%free -n lv2 vg0
:- 方法就是上面的,可以创建很多个pv,如我这有个分区需求【并且后面可以动态调整这些空间,所以就只能这么做】
[root@xz-ras-data ~]# lvs
[root@xz-ras-data ~]# lvcreate -L 86G -n lv_ora vgdata
Logical volume "lv_ora" created.
[root@xz-ras-data ~]# lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
lv_ora vgdata -wi-a----- 86.00g
[root@xz-ras-data ~]# lvcreate -L 150G -n lv_boss_file vgdata
Logical volume "lv_boss_file" created.
[root@xz-ras-data ~]# lvcreate -L 1000G -n lv_data vgdata
Logical volume "lv_data" created.
[root@xz-ras-data ~]# lvcreate -L 140G -n lv_arch vgdata
Logical volume "lv_arch" created.
[root@xz-ras-data ~]# lvcreate -L 120G -n lv_bank_files vgdata
Logical volume "lv_bank_files" created.
[root@xz-ras-data ~]#
[root@xz-ras-data ~]# lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
lv_arch vgdata -wi-a----- 140.00g
lv_bank_files vgdata -wi-a----- 120.00g
lv_boss_file vgdata -wi-a----- 150.00g
lv_data vgdata -wi-a----- 1000.00g
lv_ora vgdata -wi-a----- 86.00g
[root@xz-ras-data ~]#
删除lv
删除lv:lvremove /dev/卷名/lv名(lvscan可以查看)
,提示中输入y
确定删除即可(如果不要提示,加上参数-f即可:lvremove -f /dev/*/*
:
使用lv
- lv创建完成以后,就可以直接格式化后使用了,
lvdisplay
可以查看lv详细路径 mkfs.** lv设备名
【mkfs.tab一下,就会出现很多很多格式,根据需要的格式选择就行】,如:把lv0格式化为xfs并挂在到根目录的123文件中:
mkfs.xfs /dev/vg0/lv0
mkdir /123
mount /dev/vo0/lv0 /123
- 如我这格式化上面创建lv中的示例
[root@xz-ras-data ~]# lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
lv_arch vgdata -wi-a----- 140.00g
lv_bank_files vgdata -wi-a----- 120.00g
lv_boss_file vgdata -wi-a----- 150.00g
lv_data vgdata -wi-a----- 1000.00g
lv_ora vgdata -wi-a----- 86.00g
[root@xz-ras-data ~]# lvdisplay
--- Logical volume ---
LV Path /dev/vgdata/lv_ora
LV Name lv_ora
VG Name vgdata
LV UUID KPhJPH-gFCr-ryB1-6NT0-d7M7-I3Ie-I99Sgy
LV Write Access read/write
LV Creation host, time xz-ras-data.novalocal, 2022-06-22 09:24:33 +0000
LV Status available
# open 0
LV Size 86.00 GiB
Current LE 22016
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 8192
Block device 252:0
--- Logical volume ---
LV Path /dev/vgdata/lv_boss_file
LV Name lv_boss_file
VG Name vgdata
LV UUID NQtu3d-hES9-vGPu-NIJb-XybO-1K9S-tGDolQ
LV Write Access read/write
LV Creation host, time xz-ras-data.novalocal, 2022-06-22 09:25:00 +0000
LV Status available
# open 0
LV Size 150.00 GiB
Current LE 38400
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 8192
Block device 252:1
--- Logical volume ---
LV Path /dev/vgdata/lv_data
LV Name lv_data
VG Name vgdata
LV UUID zgH6f8-Bxof-Cw9X-Ihlu-ePzf-o5DV-ewAmzn
LV Write Access read/write
LV Creation host, time xz-ras-data.novalocal, 2022-06-22 09:25:14 +0000
LV Status available
# open 0
LV Size 1000.00 GiB
Current LE 256000
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 8192
Block device 252:2
--- Logical volume ---
LV Path /dev/vgdata/lv_arch
LV Name lv_arch
VG Name vgdata
LV UUID G5fcJ2-KMgf-GaCK-ltCk-QFNR-q3tx-pevt1B
LV Write Access read/write
LV Creation host, time xz-ras-data.novalocal, 2022-06-22 09:25:32 +0000
LV Status available
# open 0
LV Size 140.00 GiB
Current LE 35840
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 8192
Block device 252:3
--- Logical volume ---
LV Path /dev/vgdata/lv_bank_files
LV Name lv_bank_files
VG Name vgdata
LV UUID n1jVOQ-7ToG-W1ML-B1uH-rcOz-chiR-TczjZH
LV Write Access read/write
LV Creation host, time xz-ras-data.novalocal, 2022-06-22 09:25:47 +0000
LV Status available
# open 0
LV Size 120.00 GiB
Current LE 30720
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 8192
Block device 252:4
[root@xz-ras-data ~]#
[root@xz-ras-data ~]# mkfs.xfs /dev/vgdata/lv_ora
meta-data=/dev/vgdata/lv_ora isize=512 agcount=4, agsize=5636096 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=0, sparse=0
data = bsize=4096 blocks=22544384, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=1
log =internal log bsize=4096 blocks=11008, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
[root@xz-ras-data ~]# mkfs.xfs /dev/vgdata/lv_boss_file
meta-data=/dev/vgdata/lv_boss_file isize=512 agcount=4, agsize=9830400 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=0, sparse=0
data = bsize=4096 blocks=39321600, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=1
log =internal log bsize=4096 blocks=19200, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
[root@xz-ras-data ~]# mkfs.xfs /dev/vgdata/lv_data
meta-data=/dev/vgdata/lv_data isize=512 agcount=4, agsize=65536000 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=0, sparse=0
data = bsize=4096 blocks=262144000, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=1
log =internal log bsize=4096 blocks=128000, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
[root@xz-ras-data ~]# mkfs.xfs /dev/vgdata/lv_arch
meta-data=/dev/vgdata/lv_arch isize=512 agcount=4, agsize=9175040 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=0, sparse=0
data = bsize=4096 blocks=36700160, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=1
log =internal log bsize=4096 blocks=17920, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
[root@xz-ras-data ~]# mkfs.xfs /dev/vgdata/lv_bank_files
meta-data=/dev/vgdata/lv_bank_files isize=512 agcount=4, agsize=7864320 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=0, sparse=0
data = bsize=4096 blocks=31457280, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=1
log =internal log bsize=4096 blocks=15360, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
[root@xz-ras-data ~]#
[root@xz-ras-data ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sr0 11:0 1 478K 0 rom
vda 253:0 0 300G 0 disk
└─vda1 253:1 0 300G 0 part /
vdb 253:16 0 1.5T 0 disk
├─vdb1 253:17 0 32G 0 part [SWAP]
└─vdb2 253:18 0 1.5T 0 part
├─vgdata-lv_ora 252:0 0 86G 0 lvm
├─vgdata-lv_boss_file 252:1 0 150G 0 lvm
├─vgdata-lv_data 252:2 0 1000G 0 lvm
├─vgdata-lv_arch 252:3 0 140G 0 lvm
└─vgdata-lv_bank_files 252:4 0 120G 0 lvm
[root@xz-ras-data ~]#
lv重命名
# 这个和vg不太一样,直接用lv名称会报错
[root@xz-ras-data ~]# lvrename lv_boss_file lv_boss_files
Path required for Logical Volume "lv_boss_file".
Please provide a valid volume group name
Run `lvrename --help' for more information.
[root@xz-ras-data ~]# lvrename ^C_boss_file lv_boss_files
[root@xz-ras-data ~]#
# 而是需要详细路径,lvdisplay可以查看
[root@xz-ras-data ~]# lvrename /dev/vgdata/lv_boss_file /dev/vgdata/lv_boss_files
Renamed "lv_boss_file" to "lv_boss_files" in volume group "vgdata"
[root@xz-ras-data ~]# lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
lv_arch vgdata -wi-a----- 140.00g
lv_bank_files vgdata -wi-a----- 120.00g
lv_boss_files vgdata -wi-a----- 150.00g
lv_data vgdata -wi-a----- 1000.00g
lv_ora vgdata -wi-a----- 86.00g
[root@xz-ras-data ~]#
在这里插入代码片
增加使用中lv容量【扩容】
- 首先要确认vg中有容量可以扩容
lvextend -L +大小 lv设备名
:在原有大小上扩容制定大小,如给lv0扩容100M:lvextend -L +100M /dev/vg0/lv0
xfs格式刷新
- 虽然查看lv已经扩容成功的,但df -Th查看的时候 实际容量没有变化,因为还需要单独扩容文件:xfs格式是:
xfs_growfs 文件名
ext4格式刷新
扩容文件 ext4格式为:resize2fs 设备名
- 总结一下:就是扩容需要扩容2个地方,第一个是lv(lvextend -L +大小 lv设备名),第二个是文件(sfs: sfs_growfs 文件名,exte:resize2fs lv设备全名)注:扩展lv的时候,是可以在线扩展的(就是不需要卸载的情况)
减少使用中lv容量【缩容】
- 注:xfs文件系统是不支持缩小的!!!!!!
- lv容量的减少必须按照以下4个步骤来做:
- 要先卸载磁盘:
umount
- 磁盘完整性检查:
fsck -f 设备名
,如:fsck -f /dev/vg0/lv0
- 缩小文件容量(ext4格式):
resize2fs 设备名 大小
(最终大小,而不是减掉的大小) ,如:resize2fs /dev/vg0/lv0 80M
- 把多余的lv给缩小:
lvreduce -L -容量 lv完整路径
,如:lvreduce -L -220M /dev/vg0/lv0
注:具体减多少容量,用总容量减去上一步中修改后的最终容量即可,如现在lv0是300M,修改为80M,则应减去220M。
lv的快照
先在之前挂载的lv中创建一个50M大小的文件:dd if=/dev/zero of=/aa/file bs=1M count=50
快照语法:lvcreate -n 自定义名字 -L 大小(不能超过后面总共可用大小) -s /dev/卷组/lv名(需要备份的名称)
创建好快照以后,务必不要对快照格式化。 而且 创建好的快照是可以直接使用的,就是直接挂载到某一个文件中,访问到的内容和被做快照lv中内容是一模一样的:
快照虽然创建好了,但如果我们查看lv容量和挂载容量的时候,发现不一样,其实这是正常的,虽然容量不一样但并不影响通过快照挂载的文件访问被快照里面的内容,相当于快照中这个只是一个链接,访问快照中文件的时候,实际是映射到快照前文件的内容,所以大小虽然不一样,但访问的内容是一样的。删除快照中以前的内容之后,在从新创建相同文件名也不能看到以前文件的内容了(删除快照中内容并不会影响被快照中的文件),快照中后面创建的内容(新增的,改变的数据)是存放在快照内存中的(可用容量是创建快照的时候定义的),与被快照的内容也没有关系。
利用原始lv,来恢复快照里的东西
如果快照里面的内容被误删了,是可以通过原数据从新备份的,这种情况可以直接写进脚本中,跑下脚步即可完成自动重新做一份快照数据:
脚本内容 vi /aa.sh :
利用快照来恢复原始lv
lvconvert --merge
快照名称 :恢复该快照中的内容,但恢复后该快照会消失,如果还需要改快照,就需要重新就一次快照。 一般用于数据库 比如星期一到星期五每天做一次快照,如果不小心把星期三的数据删除了,那么恢复星期三保存的快照,该天的数据即可恢复。
lv脚本创建说明
下面只是简单说一下lv创建的流程,适合放在脚本中,需要看详细lv创建流程及原理的去看去这篇博客:磁盘管理以及lv的详细创建流程
手动创建lv流程回顾
新建一个分区;
选n:
类型p,主分区,将剩余所以空间都分配给新分区:
修改分区类型:t
刷新分区表:p
保存分区表:w
读取分区列表:partprobe
把sda3转化为pv:
把sda3添加到centos vg组:
查看所有lv:
查看lv详细:
lvdisplay:
格式化lv:
Mount挂载磁盘到文件:
编辑/etc/fstab文件,添加最后一条使文件系统自动挂载:
脚本自动创建lv方法
下面是一个自动创建pv,添加pv到vg,从vg中创建lv,以及格式化lv,并自动挂载到指定文件的脚本及命令解释:
脚本:用于很多服务器批量完成同样的操作, 服务器间直接ftp拷贝脚本运行就可以了
sudo su -
//无须密码获取root权限df -T
//查看格式如xfsfdisk -l
//查看所有磁盘 一般新挂载磁盘是 sdb sdc sd…pvs
//查看pv大小
以下是脚本内容:
(pvcreate /dev/sdb; #创建pv
vgcreate datavg /dev/sdb; #添加pv到vg中(datavg是vg名)
lvcreate -L 999.5G -n data datavg; # 创建999.5G大小的lv,data是lv名 datavg是vg名)
mkfs.xfs /dev/datavg/data; #格式化 新建lv (/dev/datavg/data是路径——/dev(设备)/datavg(vg名)/data(lv名)
mkdir /data; #创建挂载目录 名为/data
echo "/dev/mapper/datavg-data /data xfs defaults 0 0" >> /etc/fstab; #把挂载文件写进/etc/fstab (开机自动挂载)
mount -all ; #自动挂载写入/etc/fstab中的设备,与mount -a 同效果。
df -h;) #查看mount -all 是否执行成功,执行成功后df -h中会有写入/etc/fstab中信息,也就是说 该脚本执行执行成功。
系统重装后lsblk看不到外挂盘的lv分区信息&外挂盘重装后mount挂载方发
具体处理去这篇博客了:
mount: special device /dev/vgdata/lv_ora does not exist,centos系统LV status状态为Not avaliable问题排查及处理、