linux中lv的详细创建流程【化分区-pv-vg-lv创建整套流程】,centos中lv脚本创建vg-pv-lv,-bash: lvs: command not found处理方法
文章目录
- 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): pDisk /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: 0xfcb78ee4Device Boot Start End Blocks Id System
/dev/vdb1 2048 67110911 33554432 82 Linux swap / SolarisCommand (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 setCommand (m for help): e
e: unknown command
Command actiona toggle a bootable flagb edit bsd disklabelc toggle the dos compatibility flagd delete a partitiong create a new empty GPT partition tableG create an IRIX (SGI) partition tablel list known partition typesm print this menun add a new partitiono create a new empty DOS partition tablep print the partition tableq quit without saving changess create a new empty Sun disklabelt change a partition's system idu change display/entry unitsv verify the partition tablew write table to disk and exitx 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): pDisk /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: 0xfcb78ee4Device Boot Start End Blocks Id System
/dev/vdb1 2048 67110911 33554432 82 Linux swap / Solaris
/dev/vdb2 67110912 3221225471 1577057280 8e Linux LVMCommand (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/vdb2Physical volume "/dev/vdb2" successfully created.
[root@xz-ras-data ~]# pvscanPV /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/vdb2Volume group "vgdata" successfully created
[root@xz-ras-data ~]# vgsVG #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 vgdataVolume 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,重启即可,也可以等待几个小时等待系统后台数据库自动更新也可。
- 如这里的vg名(vgdisplay可以查看)是
- 新增完以后就可以正常划分新的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 vgdataLogical volume "lv_ora" created.
[root@xz-ras-data ~]# lvsLV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convertlv_ora vgdata -wi-a----- 86.00g
[root@xz-ras-data ~]# lvcreate -L 150G -n lv_boss_file vgdataLogical volume "lv_boss_file" created.
[root@xz-ras-data ~]# lvcreate -L 1000G -n lv_data vgdataLogical volume "lv_data" created.
[root@xz-ras-data ~]# lvcreate -L 140G -n lv_arch vgdataLogical volume "lv_arch" created.
[root@xz-ras-data ~]# lvcreate -L 120G -n lv_bank_files vgdataLogical volume "lv_bank_files" created.
[root@xz-ras-data ~]#
[root@xz-ras-data ~]# lvsLV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convertlv_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 ~]# lvsLV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convertlv_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_oraLV Name lv_oraVG Name vgdataLV UUID KPhJPH-gFCr-ryB1-6NT0-d7M7-I3Ie-I99SgyLV Write Access read/writeLV Creation host, time xz-ras-data.novalocal, 2022-06-22 09:24:33 +0000LV Status available# open 0LV Size 86.00 GiBCurrent LE 22016Segments 1Allocation inheritRead ahead sectors auto- currently set to 8192Block device 252:0--- Logical volume ---LV Path /dev/vgdata/lv_boss_fileLV Name lv_boss_fileVG Name vgdataLV UUID NQtu3d-hES9-vGPu-NIJb-XybO-1K9S-tGDolQLV Write Access read/writeLV Creation host, time xz-ras-data.novalocal, 2022-06-22 09:25:00 +0000LV Status available# open 0LV Size 150.00 GiBCurrent LE 38400Segments 1Allocation inheritRead ahead sectors auto- currently set to 8192Block device 252:1--- Logical volume ---LV Path /dev/vgdata/lv_dataLV Name lv_dataVG Name vgdataLV UUID zgH6f8-Bxof-Cw9X-Ihlu-ePzf-o5DV-ewAmznLV Write Access read/writeLV Creation host, time xz-ras-data.novalocal, 2022-06-22 09:25:14 +0000LV Status available# open 0LV Size 1000.00 GiBCurrent LE 256000Segments 1Allocation inheritRead ahead sectors auto- currently set to 8192Block device 252:2--- Logical volume ---LV Path /dev/vgdata/lv_archLV Name lv_archVG Name vgdataLV UUID G5fcJ2-KMgf-GaCK-ltCk-QFNR-q3tx-pevt1BLV Write Access read/writeLV Creation host, time xz-ras-data.novalocal, 2022-06-22 09:25:32 +0000LV Status available# open 0LV Size 140.00 GiBCurrent LE 35840Segments 1Allocation inheritRead ahead sectors auto- currently set to 8192Block device 252:3--- Logical volume ---LV Path /dev/vgdata/lv_bank_filesLV Name lv_bank_filesVG Name vgdataLV UUID n1jVOQ-7ToG-W1ML-B1uH-rcOz-chiR-TczjZHLV Write Access read/writeLV Creation host, time xz-ras-data.novalocal, 2022-06-22 09:25:47 +0000LV Status available# open 0LV Size 120.00 GiBCurrent LE 30720Segments 1Allocation inheritRead ahead sectors auto- currently set to 8192Block 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_filesPath required for Logical Volume "lv_boss_file".Please provide a valid volume group nameRun `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_filesRenamed "lv_boss_file" to "lv_boss_files" in volume group "vgdata"
[root@xz-ras-data ~]# lvsLV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convertlv_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
//查看格式如xfs
fdisk -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问题排查及处理、
linux中lv的详细创建流程【化分区-pv-vg-lv创建整套流程】,centos中lv脚本创建vg-pv-lv,-bash: lvs: command not found处理方法相关推荐
- 解决linux mysql命令 bash: mysql: command not found 的方法
解决linux mysql命令 bash: mysql: command not found 的方法 参考文章: (1)解决linux mysql命令 bash: mysql: command not ...
- linux -bash: ipconfig: command not found 解决方法
linux -bash: ipconfig: command not found 解决方法 参考文章: (1)linux -bash: ipconfig: command not found 解决方法 ...
- Linux -bash java command not found 解决方法
在Linux环境下安装JDK之后,使用java 测试是否安装成功,结果报错-bash: java: command not found 解决方案如下: 1.查看Linux环境自带JDK 使用命令:# ...
- 解决bash: mysql: command not found 的方法【linux mysql命令 】
linux下,在mysql正常运行的情况下,输入mysql提示: mysql command not found 遇上-bash: mysql: command not found的情况别着急,这个是 ...
- Java 为什么不支持创建泛型化数组
没事的时候在书中翻了下泛型相关的知识,注意到一个比较有意思的问题:Java 不能创建泛型化数组.比如像下面这样就是不允许的: // 创建一个泛型类 public class Generic<T& ...
- 运维标准化与流程化建设
运维标准化与流程化建设 当下企业很多都热衷于建设运维自动化.智能化,通过技术革新代替繁杂的手工运维,提高生产效率的同时最大程度的减少人为失误.但是如何建设自动化运维,在不同的企业有着不同的建设方法和技 ...
- Windows7中创建逻辑驱动器(扩展分区)
录: Windows7中创建逻辑驱动器(扩展分区) 注: This solution is only available in Chinese. Cette solution est uniqueme ...
- diskpart命令创建GPT磁盘分区
利用diskpart命令创建GPT磁盘分区图文教程很多朋友都是使用工具软件完成创建GPT磁盘分区,实际上你无论你是使用光盘.U盘还是硬盘(NT6)等方式全新安装Win7或者Win8系统,都可以利用di ...
- linux telnet: command not found,提示-bash: telnet: command not found的解决方法
Linux centos 运行telnet命令,出现下面的错误提示: [root@localhost ~]# telnet 127.0.0.1 -bash: telnet: command not f ...
最新文章
- idea 2019安装完(打不开启动不了)问题解决(最全解决方法)
- 用函数的思想进行四则运算
- 深入浅出 5种IO模型。
- javacore分析工具_Javacore 与 WebSphere Commerce 性能问题之争?谁才是赢家
- 功能Java示例 第8部分–更多纯函数
- 时隔多日,旧域名重用,niceyoo博客上线
- Matplotlib - 柱状图、直方图、条形图 bar() barh() 所有用法详解
- 史上最萌最认真的机器学习/深度学习/模式识别入门指导手册(二)
- cypress离线安装_【拆一个高端货】 美国NI公司 GPIB-USB转接卡 长标题
- 机器学习基础算法14-波士顿房价预测-ElasticNet模型
- 北京赛区参赛选手代表吴翼在开幕式上的发言稿完整版2011年11月02日 09:50:34
- delphi调用chrome内核进行浏览
- NiFi 1.16.3 生产使用的更新及BUG。
- CH(NH2)2PbI3(FAPbI3) 甲脒碘基钙钛矿 1451592-07-6
- 神器推荐:应用之星,零代码就能制作炫酷的H5页面
- Python3-豆瓣电影影片差评和影片封面照片的爬取
- Apsara Clouder基础技能认证:实现调用API接口
- Golang 插件开发入门教程
- 生物学和游戏:为什么女人不爱游戏- -
- python发送免费短信验证码(腾讯云 短信)
热门文章
- 数据库操作之插入一行数据
- 用HTML创作一个简单的电子时钟
- vc调用matlab直方图,图像各向异性扩散算法(VC与Matlab版本实现)
- OSChina 周六乱弹 —— 我一直把一哥们当朋友,但
- [附源码]java毕业设计图书管理系统论文
- Javascript个人所得税计算公式
- Linux驱动开发-proc接口介绍
- 2-氟丙二酸二乙酯,cas685-88-1等含氟试剂,氟化试剂
- 服务器抓取MIUI ota信息,小米手机获取root权限(保留OTA升级 / 刷第三方Recovery )...
- python爬虫(13)爬取百度贴吧帖子