转自:truemylife.linux磁盘 分区 物理卷 卷组 逻辑卷 文件系统加载点操作案例
基本概念:
磁盘、分区、物理卷【物理部分】
卷组【中间部分】
逻辑卷、文件系统【虚拟化后可控制部分】
磁盘信息查看
fdisk -l
SATA磁盘,使用fdisk -l
如果有两块磁盘,会显示
sda
sdb
如果有更多,依次a-z
fdisk -l
除了显示硬盘分区,同时显示逻辑卷信息,逻辑卷以vg_开头
查看文件系统及其挂载点
df -h
文件系统可以是逻辑卷,也可以直接为物理分区
/dev/mapper/vg_hxserver-lv_root 50G 23G 25G 49% / tmpfs 7.8G 0 7.8G 0% /dev/shm /dev/sda1 485M 37M 423M 8% /boot /dev/mapper/vg_hxserver-lv_home 218G 233M 207G 1% /home
以上/dv/sda1是物理分区,vg_是逻辑卷,tmpfs某设备名称
cat /etc/fstab看到更多的设备挂载信息
但是使用df -h只显示一部分与存贮相关类型的信息,如ext4、swap、tmpfs
以centos6.3安装为例,安装完成后会自动
创建一个物理卷 /dev/sda2(属于卷组vg_hostname) pvdispaly 可以查看物理卷
创建一个卷组 /vg_hostname(hostname是机器名) vgdisplay可以查看卷组
创建三个逻辑卷
/dev/vg_hxserver/lv_root
/dev/vg_hxserver/lv_home
/dev/vg_hxserver/lv_swap
以上部分是从系统默认安装后能查看到的信息
案例1:新增磁盘并把新磁盘虚拟化成逻辑卷,把文件系统/home挂载到这个新逻辑卷。
1、fdisk -l
可以看到新磁盘/dev/sdb(如果之前只有sda)
2、fdisk /dev/sdb
进入fdisk操作界面
进入fdisk操作界面,这里涉及到linux分区相关知识见http://www.jb51.net/LINUXjishu/57192.html
总结性的一句话:主分区不超出4个,也可以分成1-3个主分区加1个扩展分区。扩展分区本身是不可用的,
需要划分成若干逻辑分区后使用。分区还是需要合理,以免剩余出磁盘被浪费。
这里创建一个最简单的Linux LVM类型的主分区
command:n
p
e
键入p
一直按回车,就创建出整个磁盘空间的主分区
键入t
输入8e即对应的Linux LVM类型的物理卷
键入w退出
新建分区完成
fdisk -l
可以看到新建分区sdb1
3、pvdisplay查看当前的物理卷
把分区sdb1建成物理卷
pvcreate /dev/sdb1【物理卷名】 /dev/sdb1【分区路径】
pvdisplay 看到/dev/sdb1物理卷还不属于任务卷组
vgs或vgdisplay 查看已创建的卷组,如果要新建卷组使用vgcreate
把新建的物理分区,分配到卷组/dev/vg_dbcentos6
vgextend /dev/vg_dbcentos6 /dev/sdb1
vgs可以看到vg_dbcentos63扩展了容量,VFreee是剩下可用容量,如果显示4.00G,
接下来创建逻辑卷时,可输入4G,不能超出,当然也不要浪费掉。
lvcreate -L 4G -n lv_home vg_dbcentos6
lvs或lsdisplay或fdisk -l都能看到新创建的lv_home
需要注意的是,这里有两个规则一是取名lv_home,会自动生成逻辑卷的路径为
/dev/vg_dbcentos6/lv_home
生成Disk设备映射/dev/mapper/vg_dbcentos6-lv_home【文件系统的挂载点】
cat /etc/fstab 可以看到当前文件系统格式,有ext3、ext4等,比方说查看到文件系统是ext4
接下来格式花文件系统
mkfs.ext4 /dev/mapper/vg_dbcentos6-lv_home
挂载文件系统
mount /dev/mapper/vg_dbcentos6-lv_home /home
查看文件系统
df【可以看到多出了/home挂载点】
机器启动后能自动挂载
vi /etc/fstab
fstab共6列,第1列表示设备 第2列表示挂载点 第3列表示设备类型 第4列表示参数 第5列参数表示隔几天
备份 第6列表示启动时检测优先级别
reboot 看是否自动挂载
案例2:centos6.3默认安装,/home的挂载设备对应的逻辑卷非常大,但是/挂载的逻辑卷空间较小,需要减小/home逻辑卷,加大/对应的逻辑卷。
umount /home【首先必须卸下挂载点,umount时相关设备必须是空闲的,但是像/及/root有些系统服务无法被 终止,也就无法umount,因此像/ /root这些挂载点最好安装的时候最好就有所规划,但是我们可以让他扩大还是没有问题】
在umount过程中如果有设备占用情况可使用
fuser -m -k /home终止相关进程,再次umount /home成功
df 看不到 /home挂载点
必须先检测设备映射
e2fsck -f /dev/mapper/vg_dbcentos6-lv_home
减小/home大小,原有4G,减小到1G
resize2fs /dev/mapper/vg_dbcentos6-lv_home 1G
重新挂载
mount /dev/mapper/vg_dbcentos6-lv_home /home
df -h 看到/home只剩1G了
以上只是减少了文件设备的大小,还要进一步减小对应逻辑卷大小
lvresize -L 1G /dev/mapper/vg_dbcentos6-lv_home【此过程会提示可能丢数据,如果有必要,请先备份
/home下数据在做操作】
lvresize -L +3GM /dev/mapper/vg_dbcentos6-lv_root【lv_root逻辑卷新增3G】
resize2fs /dev/mapper/vg_dbcentos6-lv_root 【这个命令不带参数,表示把多出来的容量都加到当前文件系统】
df -h【看到容量增加了】
总结一下案例2的过程,先umount、接下来efsck -f、接下来resize2fs要减小的文件系统、mount文件系统、
lvresize要减小的逻辑卷、lvresize要增大的逻辑卷、resize2fs要增大的文件系统。
菜鸟,直接拔下新增磁盘引发的错误
新增磁盘不会有系统文件,因此不致于系统无法启动
1、如果新增的磁盘,通过分区、物理卷、加到卷组、逻辑卷后,如果新的逻辑卷被加到lv_root,
也就是root逻辑卷后。如果不事先做移除命令,事后再想移除会比较麻烦,甚至无法移除这些unknown device
2、如果新增逻辑卷有自动挂载点,也需要删除挂载点后才能拔下硬盘,否则启动后会提示使用root以安全模式进入
那么这两个问题分别怎么解决呢?
第2个问题相对简单,以root进入后
mount -o remount,rw /【这个命令让root可以修改/etc/fstab,否则无法修改】
vi /etc/fstab 删除已经拔掉磁盘相关的挂载点信息
reboot【重起后能正常进入】
第一个问题
方法一、就是再次把磁盘插回去,然后把对应的逻辑卷删除、把物理卷从卷组里删除并删除物理卷
方法二、如果找不回对应的磁盘,若逻辑卷不是被分配到root,可以直接删除特理卷,这时用pvdisplay会发现有一个unkonwn device
可以使用vgreduce --removemissing --force volumname,可以发现unkown device被移降
但是如果是在lv_root由于存放并正在使用大量的系统级内容和服务,将无法移除此设备,因此用磁盘扩展
lv_root一定要谨慎,在移除磁盘的时候一定要先移除对应的逻辑卷、物理卷从卷组里移除并移除物理卷。以免产生垃圾unkown
device。另外即使不是在lv_root下,也有可能说内容被占用,这个可以使用fuser -m -k /mnt/a【/mnt/a指你要移除的逻辑卷
对应的挂载点的正在运行的服务】,然后umount /mnt/a,最后vgreduce --removemissing --force volumname。