一些概念:
卷组:vg
卷:lv
卷里面放磁盘
vg/lv磁盘
Linux的目录挂载:
Oracle挂载在vg上面,卷组下面可以添加卷。
磁盘操作相关命令:
- 添加硬盘(关机添加硬盘,另一种技术叫热插拔不用关机也可以添加硬盘)
- df -h
lvdisplay 当前所有逻辑卷
vgdisplay 查看vg卷组的大小
pvgdisplay 物理卷,硬盘上的使用情况(没啥用)
开始LVM扩容
- 硬盘格式化:fdisk -l
fdisk -l |grep '/dev' grep和管道|再强化一波
- 创建新的分区:
fdisk /dev/sdb
Command (m for help): n
Partition type:
p primary (0 primary, 0 extended, 4 free)
e extended
Select (default p): p
Partition number (1-4, default 1): 1
First sector (2048-41943039, default 2048):
Using default value 2048
Last sector, +sectors or +size{K,M,G} (2048-41943039, default 41943039):
Using default value 41943039
Partition 1 of type Linux and of size 20 GiB is set
Command (m for help): w #写入
The partition table has been altered!
Calling ioctl() to re-read partition table.
Syncing disks.
一块硬盘最多只能分4个分区,要么主分区要么为扩展分区。
扩展概念:
磁盘的簇:空间有个范围,例如:0-2000,
如果想要写在1000到2000的位置,硬盘是个方块,里面是圆的,跟vcd一样旋转读写。
磁盘坏倒: 正常读写磁头会跟读写的针挨着,突然断电后来电,磁盘会自己倒回去反向旋转,多来两次磁盘就GG了。(热插拔很牛逼的解决了这个问题)
磁盘格式化:mkfs.xfs /dev/sdb1
判断系统的文件系统:
在本指南中,我们将用 7 种方法来识别你的 Linux 文件系统类型,如 Ext2、Ext3、Ext4、BtrFS、GlusterFS 等等。
命令:df -lhT
文件通过文件系统在磁盘及分区上命名、存储、检索以及更新,文件系统是在磁盘上组织文件的方式。
文件系统分为两个部分:用户数据和元数据(文件名、创建时间、修改时间、大小以及目录层次结构中的位置等)。
我的dba是xfs所以后面也用xfs
创建物理卷:pvcreate /dev/sdb1
把sdb1这个分区变成物理卷,可以写了。
查看卷组情况:pvscan
[root@192 ~]# pvscan
PV /dev/sda2 VG centos lvm2 [ PV /dev/sdb1 lvm2 [ Total: 2 [
把sdb1分区加入卷组:
vgextend centos /dev/sdb1
把vg扩展的空间加入可以使用的空间:
lvdisplay 当前所有逻辑卷
系统是通过逻辑卷的路径来进行写入的,要把新加的磁盘分区的路径改为一致,才能把东西写入新增磁盘分区内。
扩容LV:
按照大小扩容:lvextend /dev/centos/root
按照百分比扩容:
lvextend -l +100%free /dev/centos/root
结果都是一养的,空闲空间被加入可用空间。
验证结果:lvdisplay 当前所有逻辑卷
vgdisplay 查看vg卷组的大小
刷新(其实本质上不是刷新是根据vg和lv调整文件系统的大小):由于CentOS6和CentOS7在默认根文件系统的文件系统格式存在差异,需要判断是否为xfs,如果是xfs则应该使用xfs_growfs而不是一味的使用resize2fs。
ext2/ext3/ext4文件系统的调整命令是resize2fs(增大和减小都支持)
xfs文件系统的调整命令是xfs_growfs(只支持增大)
所以两个有区别。
xfs_growfs /dev/centos/root 自适应
xfs_growfs -L 120G /dev/centos/root
指定调整
df-h查看调整结果
--扩展知识
逻辑删除
物理删除
Lvm扩容加上逻辑卷和物理卷实现了一个硬盘的负载均衡。。。。可以把数据写在各个不同的磁盘里。但是对于用户来说是无感知的。
所以一旦扩容就不可以再把硬盘拿掉,会造成数据丢失。
但是不拿掉还有磁盘坏倒的情况,这个时候还有 服务器运维的活热备份。