LVM逻辑卷创建管理
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LVM逻辑卷创建管理相关的知识,希望对你有一定的参考价值。
在虚拟机里面添加三个新的硬盘
LVM是Logical Volume Manager(逻辑卷管理器)的简写,它为主机提供了更高层次的磁盘存储管理能力。LVM可以帮助系统管理员为应用与用户方便地分配存储空间。在LVM管理下的逻辑卷可以按需改变大小或添加移除。另外,LVM可以为所管理的逻辑卷提供定制的命名标识。因此,使用LVM主要是方便了对存储系统的管理,增加了系统的扩展性。
目前LVM在Linux下有两个版本,分别是LVM 1和LVM 2,LVM2不仅仅是Linux逻辑卷管理在版本与功能上的升级,而且是架构在一个新的内核存储子系统(DM,device-mapper)之上的。这个存储子系统提供了一个轻量级的、可扩展的卷管理设施。除了在原有LVM卷管理功能的基础上,Linux的逻辑卷管理将会为用户提供更多的存储管理方案,如镜像、加密卷、多路径技术。所以在本节将以LVM 2为例来详细介绍LVM的创建与管理。
[[email protected] ~]# cat /etc/redhat-release #查看系统版本
CentOS Linux release 7.2.1511 (Core)
[[email protected] ~]# uname -r #查看系统内核版本
3.10.0-327.el7.x86_64
[[email protected] ~]# uname -m #查看系统是否64位
x86_64
首先我们还是做服务之前先把奇葩的防火墙给关掉,因为很多规则会撞到墙,注意是服务端和客户端都要做这个操作
[[email protected] ~]# iptables -F
[[email protected] ~]# iptables -X
[[email protected] ~]# iptables -Z
[[email protected] ~]# iptables -L
[[email protected] ~]# setenforce 0
[[email protected] ~]#vi /etc/sysconfig/selinux #修改SELINUX
首先我们先添加一块3块硬盘,为了方便区分我们把每一块硬盘的大小做了区分,大小分别为5G、6G和7G,硬盘的类型还是默认的SCSI版本。
[[email protected] dev]# fdisk -l #可以列出所有的分区,包括没有挂上的分区和usb设备,查看硬盘及分区信息;
我们可以看见下面就是挂载上的硬盘
由于硬盘的主引导记录中仅仅为分区表保留了64个字节的存储空间,而每个分区的参数占据16个字节,故主引导扇区中总计只能存储4个分区的数据。也就是说,一块物理硬盘只能划分为4个主分区磁盘。并且MBR最大仅支持2TB的硬盘,在现在这个连4T都不稀奇的时代,MBR出场的机会恐怕会越来越少。
sda和hda的区别:
sd代表的是SCSI,SATA接口硬盘
hd代表IDE接口的硬盘
sda和hda最后面的a都代表的是第一块硬盘
sda1和hda1则代表的是该硬盘的第一分区
[[email protected] dev]# fdisk /dev/sdb #对sdb硬盘进行分区
Command (m for help): m #就会输出帮助;
a 切换可引导标志(活动分区/引导分区之间切换)
b 编辑BSD磁盘标签
c 设置DOS操作系统兼容标记(兼容/不兼容之间切换)
d 删除一个分区
g 创建一个新的空GPT分区表
G 创建一个ILIX(SGI)分区表
l 列出已知分区类型
m 显示帮助信息
n 添加新分区
o 创建一个新的空DOS分区表
p 显示磁盘当前的分区表
q 退出不保存更改
s 创建一个新的空白的Sun磁盘标签
t 更改分区的系统ID
u 显示/输入单元
v 验证磁盘分区表
w 将分区表写入磁盘并退出(保存并退出)
x 额外功能(仅专家)
Command (m for help): n #添加新分区;
Select (default p): p #添加一个主分区
分区号(1-4,默认1): #默认的分区账号
第一扇区(2044-1048 575,默认2048): #默认的话就自动分一个号码
使用默认值2048
最后扇区,+扇区或+大小{k,m,g}(20481085599,默认10485759): #像这里我打错了一个符号发现删除不了我们可以按住Ctrl+Backapace就可以了
Last sector, +sectors or +size{K,M,G} (2048-10485759, default 10485759): +2G #+2G
我们再依照上面的步骤再加一个新的分区为1G。
Command (m for help): p #打印分区表
Command (m for help): w #写入磁盘,保存并退出,否则之前的操作都无效。
分区表已经更改了!
调用IOCLT()来重新读取分区表。
同步磁盘。
[[email protected] ~]# pvcreate /dev/sdb1 /dev/sdb2 #将新创建的两个分区/dev/sdb1 /dev/sdb2转化成物理卷PV
[[email protected] ~]# vgcreate vg01 /dev/sdb1 /dev/sdb2 #创建卷组 vg01 ,这个是个名字可以更改,并将刚才创建好的两个物理卷加入该卷组.
[[email protected] ~]# vgdisplay #查看物理卷
以下就是显示的Vg的名字vg01、大小为2.99G
以及默认PE大小为4MB,PE是卷组的最小存储单元
[[email protected] ~]# lvcreate -n lv01 -l 100 vg01 #创建一个名字为Lv01大小为100的逻辑卷
逻辑卷“LV01”创建。
lvcreate主要参数:
-L 指定逻辑卷的大小,单位为“kKmMgGtT”字节
-l 指定逻辑卷的大小(LE数)
-n 后面跟逻辑卷名
-s 创建快照
[[email protected] ~]# lvdisplay #显示逻辑卷属性显示LVM逻辑卷空间大小、读写状态和快照信息等属性。
下面显示就是LV的详细参数
[[email protected] ~]# pvscan #扫描当前系统中所有硬盘的物理卷
[[email protected] ~]# mkfs -t ext4 /dev/vg01/lv01 #使用mkfs在逻辑卷LV01上创建ext4文件系统.
MKE2FS 1.42.9(23-DEC-2013)
文件系统标签=
操作系统类型:Linux
块大小=1024(log=0)
片段大小=1024(log=0)
步长=0个块,条带宽度=0个块
102400个节点,409600个块
为超级用户保留的20480个块(5%)
第一数据块=1
最大文件系统块=34078720
50方块群
每组8192个块,每组8192个片段
每组2048个节点
存储在块上的超级块备份:
8193, 24577, 40961、57345, 73729, 204801、221185, 401409
分配组表:完成
写入索引表:完成
创建日志(8192个块):完成
编写超级块和文件系统会计信息:完成
[[email protected] ~]# df -Th #查看挂载
[[email protected] ~]# mkdir /mnt/lv01 #创建一个挂载的目录随便命名LV01
[[email protected] ~]# mount /dev/vg01/lv01 /mnt/lv01/ #挂载到新创建的目录下面
[[email protected] ~]# vim /etc/fstab
为了查看/mnt/LV01是否设置正确,可以先卸载逻辑卷LV01,然后使用mount –a 使内核重新读取/mnt/LV01,看是否能够自动挂载.
当逻辑卷不够用了,如何扩展。
[[email protected] ~]# fdisk /dev/sdc #为了实验接着我们又在另外一块硬盘上面下手
添加分区步骤同上,为了方便我分别创建了两个1G的分区,看一下图片
[[email protected] ~]# pvcreate /dev/sdc{1,2} #创建一个pv
[[email protected] ~]# lsblk -f #列出所有块设备信息
通过partx工具让内核重读磁盘分区表,partx命令告用来诉内核当前磁盘的分区情况
选项
-a 增加制定的分区或读磁盘新增的分区
-d 删除制定或所有的分区
-l 列出分区
--type 指定分区类型。dos,bsd,solaris,unix,或者gpt
--nr M-N 指定分区范围
[[email protected] ~]# partx -s /dev/sdc #显示磁盘分区信息
partprobe: 用于重读分区表,当出现删除文件后,出现仍然占用空间。可以partprobe在不重启的情况下重读分区。将磁盘分区表变化信息通知内核,请求操作系统重新加载分区表。
-d 不更新内核
-s 显示磁盘分区汇总信息
-h 显示帮助信息
-v 显示版本信息
[[email protected] ~]# vgcreate -s 8M kk /dev/sdc1 /dev/sdc2 #创建名为kk卷组上的物理卷的8MPE大小
[[email protected] ~]# vgdisplay 查看一下
[[email protected] ~]# lvcreate -L 1.98G kk /dev/sdc1 /dev/sdc2 #因为上面vg大小为1.98G所以只能创建这么大 的LV卷
[[email protected] ~]# mkfs -t ext4 /dev/kk/lvol0 #指定格式
[[email protected] ~]# mkdir /mnt/lv02 #创建一个挂载目录
[[email protected] ~]# mount /dev/kk/lvol0 /mnt/lv02 #挂载目录
[[email protected] ~]# df -Th #看一下挂载
[[email protected] ~]# lvreduce -L -400M /dev/kk/lvol0 #缩小逻辑卷400M
//警告:将活动逻辑卷减少到1.59 GIB
//这可能破坏您的数据(文件系统等)。
//你真的想减少LVOL0吗?[Y/N]:Y
//逻辑卷KK/LVOL0的大小从1.98 GIB(254个扩展)变为1.59个GIB(204个扩展)。
//逻辑卷LVOL0成功调整大小。
[[email protected] ~]# lvdisplay #查看一下逻辑卷发现已经变成了1.59GiB了
[[email protected] ~]# mount /dev/mapper/kk-lvol0 /mnt/lv02 #我挂载一下发现除了问题
安装:错误的FS类型,坏的选项,坏的超级块/DEV/MAPPER/KK-LVRO0,
缺少代码页或辅助程序或其他错误
在某些情况下,在SysLog-Type中找到有用的信息。
尾巴等。
[[email protected] ~]# resize2fs -f /dev/mapper/kk-lvol0 1500M #这种情况我又重新缩小了一下逻辑卷
[[email protected] ~]# mount /dev/mapper/kk-lvol0 /mnt/lv02 #重新挂载一下
[[email protected] ~]# df -h #看一下发现已经挂载上了
以上是关于LVM逻辑卷创建管理的主要内容,如果未能解决你的问题,请参考以下文章