lvm讲解、磁盘故障小案例

lvm讲解

LVM实现流程案例

070501_zchz_3643875.png

A、B两块硬盘,A划分成了两个磁盘分区(两个物理卷,卷1和卷2),B划分了1个磁盘分区(一个物理卷,卷3);

然后在物理卷的基础上组成了两个卷组,一个卷组(卷组实际就是物理卷的一个集合)由卷1构成,一个卷组由卷2和卷3构成;

在卷组的基础上把卷组1划分成逻辑卷1,卷组2划分成了逻辑卷2和逻辑卷3;

最终在逻辑卷的基础上进行格式化,然后挂载到系统中使用;

 

一、准备磁盘分区

1、添加硬盘;fdisk /dev/sdb,如果已经创建并挂载,那解除挂载,删除分区;

2、n 创建三个新的磁盘分区,分别设置1G;

3、t 改变分区类型为8e,8e是数字代号,实际就是LVM类型;

解除/dev/sdb的挂载(如果这里不解除挂载后面会出现无法创建lvm物理卷的问题)

070600_wpxh_3643875.png

创建好一个新的磁盘分区后,ID号是83,这里需要改变类型为8e(8e是LVM的类型代号)。

070613_r9p3_3643875.png

输入t,设置分区类型代码8e;

070636_L5Sq_3643875.png

划分好三个LVM类型分区;

# fdisk -l /dev/sdb 查看是否划分好三个分区;

070655_ST6P_3643875.png

yum 搜索,在仅知道命令不知道报名称的情况下安装包

我们知道创建LVM的物理卷需要用 pvcreate命令,但是发现包没有安装,那通过yum命令可以查找,

# yum provides "/*/pvcreate"

引号里面的第一个斜杠/表示目录,*星号表示通配,然后是命令pvcreate,这样看来provides后面跟的就是一个命令的绝对路径和/bin/ls一样,只是这里并不清除绝对路径是哪里,所以中间用通配星号*来表示;

查询结果可以看到包的版本号,等信息,名字是lvm2

070732_ygwI_3643875.png

然后就可以安装了。

070749_n4lc_3643875.png

二、创建物理卷

partprobe

创建完分区后/dev/sdb1路径可能没有自动生成,默认会自动生成,有时候会不生成(如果前面我我们没有把/dev/sdb从/mnt/下解除挂载,那这里就不会自动生成),用partprobe可以生成,但是还是要解除挂载才能进行后续操作。

1、 pvcreate /dev/sdb1

pvcreate /dev/sdb2

pvcreate /dev/sdb3

把三个划分好的磁盘分区创建成物理卷;

070848_CgRX_3643875.png

2、pvdisplay 列出当前所有的物理卷的详细信息

070902_tcB8_3643875.png

# pvdisplay /dev/sdb1

也可以加上路径显示单个物理卷的详细信息;

070915_Lb3S_3643875.png

pvs

pvs显示当前所有物理卷的简要信息;

pvs 路径 显示当前路径的物理卷的简要信息;

070927_qhEY_3643875.png

pvremove

pvremove /dev/sdb3 删除物理卷

三、创建物理卷组

vgcreate [卷组名称] [加入卷组的物理卷1] [加入卷组的物理卷2] ...
vgdisplay,显示卷组的信息;
vgs,显示卷组的基本信息;
vgremove,删除卷组;

用sdb1和sdb2两个物理卷创建一个卷组vg1;

071004_6JZ4_3643875.png

vgs,显示卷组的基本信息;

[root@colinLinux_01 ~]# vgs

VG #PV #LV #SN Attr VSize VFree

vg1 2 0 0 wz--n- 1.99g 1.99g

 

vgdisplay,显示卷组的信息;

[root@colinLinux_01 ~]# vgdisplay

--- Volume group ---

VG Name vg1

System ID

Format lvm2

Metadata Areas 2

Metadata Sequence No 1

VG Access read/write

VG Status resizable

MAX LV 0

Cur LV 0

Open LV 0

Max PV 0

Cur PV 2

Act PV 2

VG Size 1.99 GiB

PE Size 4.00 MiB

Total PE 510

Alloc PE / Size 0 / 0

Free PE / Size 510 / 1.99 GiB

VG UUID OuIMgQ-o0lb-2qAk-y3ef-xEeI-WcUe-cDMmsR

四、创建逻辑卷

lvcreate

lvcreate [选项] [物理卷组]

选项:-L <大小>:-L 100M

            -n <名称>:-n lv1

 

lvcreate  -L 100M -n lv1 vg1 

创建100M大小的逻辑卷

071044_mooy_3643875.png

格式化创建文件系统

mkfs.ext4 /dev/vg1/lv1

[root@colinLinux_01 ~]# lvcreate -L 100M -n lv1 vg1

Logical volume "lv1" created.

[root@colinLinux_01 ~]# mkfs.ext4 /dev/vg1/lv1

mke2fs 1.42.9 (28-Dec-2013)

文件系统标签=

OS type: Linux

块大小=1024 (log=0)

分块大小=1024 (log=0)

Stride=0 blocks, Stripe width=0 blocks

25688 inodes, 102400 blocks

5120 blocks (5.00%) reserved for the super user

第一个数据块=1

Maximum filesystem blocks=33685504

13 block groups

8192 blocks per group, 8192 fragments per group

1976 inodes per group

Superblock backups stored on blocks:

8193, 24577, 40961, 57345, 73729

 

Allocating group tables: 完成

正在写入inode表: 完成

Creating journal (4096 blocks): 完成

Writing superblocks and filesystem accounting information: 完成

 挂载文件系统

mount /dev/vg1/lv1 /mnt/

df -h 查看一下

最下面看到已经挂载上了,但是名字有些变化;

071224_g50J_3643875.png

进一步查看可以发现,实际是系统做了软连接两个文件指向的是同一个文件;

071236_IhY4_3643875.png

五、扩容逻辑卷(非xfs格式)

对逻辑卷做一些操作,创建一些文件;

071300_XRQM_3643875.png

首先把文件系统解除挂载umount /dev/vg1/lv1

lvresize

lvresize -L 200M /dev/vg1/lv1    重新设置卷大小,-L设置的是最新的大小;

071333_5YLK_3643875.png

e2fsck

e2fsck -f /dev/vg1/lv1    检查磁盘错误(针对磁盘类型是ext4执行);

071351_Au7z_3643875.png

resize2fs    /dev/vg1/lv1    更新逻辑卷信息(针对磁盘类型是ext4),如果不更新,那挂载的时候不能识别新的大小;

071407_HeJg_3643875.png

重新挂载后发现,大小变为了200M,扩容成功;

071425_pbF7_3643875.png

原来文件还在,扩容并不影响原来的文件;

071436_aBGU_3643875.png

缩减逻辑卷(xfs不支持缩减逻辑卷)

先解除挂载umount

e2fsck -f /dev/vg1/lv1    然后检查磁盘是否有错误(ext)

071521_4I5M_3643875.png

resize2fs /dev/vg1/lv1 100M    更新逻辑卷信息(ext)

071537_YQPc_3643875.png

lvresize -L 100M /dev/vg1/lv1 重新设置卷大小

071549_uSPx_3643875.png

lvs查看逻辑卷大小又变为了100M

071604_qT86_3643875.png

挂载后发现磁盘变小,文件没有收到损坏;

071613_AkXA_3643875.png

xfs扩容

解除磁盘挂载umount

mkfs.xfs -f /dev/vg1/lv1重新格式化

071649_Z0Pi_3643875.png

mount /dev/vg1/lv1 /mnt 挂载文件系统

touch  xxx创建新文件

071704_Fhvw_3643875.png

lvresize -L 300M /dev/vg1/lv1    扩容xfs的时候不需要解除挂载;

071714_7QOn_3643875.png

df -h发现没有;

071725_1hcS_3643875.png

想要显示增加容量,需要执行xfs_growfs  /dev/vg1/lv1

071737_baoU_3643875.png

再次df -h查看就变为了300M;

071748_KcHd_3643875.png

查看文件正常;

071758_oEZM_3643875.png

扩展卷组

vgdisplay 显示卷组详细信息;

vgs 显示卷组基本信息;

071817_n6XD_3643875.png

上面使用了sdb1和sdb2组成了卷组vg1,现在把sdb3加入卷组达到扩展的目的;

071827_NAc6_3643875.png

vgextend

向物理卷组增加物理卷

vgextend vg1 /dev/sdb3

071849_Fmbj_3643875.png

vgs查看卷组信息,大小增加了1G

071858_OgYt_3643875.png

lvresize

然后在根据卷类型是xfs还是其他格式,按照上面流程扩容逻辑卷;

lvresize -L 900M /dev/vg1/lv1 重新设置卷大小;

磁盘故障小案例

lvm试验后,和先前在/etc/fstab中设置的一行冲突,导致系统启动时候磁盘不能正常挂载到挂载点,出现一下开机不正常现象,vmware不支持中文,所以显示也有问题,这里是输入root密码;

071933_85ro_3643875.png

输入密码后进入系统虽然显示和正常一样,但是问题还在,需要把/ect/fstab修改掉;

修改时候就是删除/dev/sdb相关的配置;

071944_dxFi_3643875.png

重启reboot恢复正常

071959_Fyr4_3643875.png

 

 

 

 

 

 

 

 

转载于:https://my.oschina.net/codepencil/blog/1562675

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值