首页 > 代码库 > lvm逻辑卷管理和软Raid设置

lvm逻辑卷管理和软Raid设置

一、LVM逻辑卷管理

1. 定义

    将多个物理分区/磁盘从逻辑上组合成一个更大的整体,从其中划分出不同的逻辑分区,逻辑分区的大小可以根据需求扩大和缩减

2. LVM概念

    PV:物理卷

    VG:卷组(可以包含65534个PE)

    LV:逻辑卷,真正存储数据的

    PV物理卷--->VG卷组--->LV逻辑卷--->格式化--->挂载使用文件系统

3. LVM管理命令

功能 物理卷   卷组     逻辑卷

scan(扫描) pvscan vgscan lvscan

create(创建) pvcreate vgcreate lvcreate

display(显示) pvdisplay vgdisplay lvdisplay

remove(移除) pvremove vgremove lvremove

extend(扩充)       vgextend lvextend

reduce(减小)       vgreduce lvreduce

4. 用法

    pvcreate  设备名...

    vgcreate  卷组名  物理卷...

    lvcreate  -L  大小  -n  逻辑卷名  卷组名    

    lvextend  -L  +大小 /dev/卷组名/逻辑卷名(将VG的PE移动到LV中)

    resize2fs    /dev/卷组名/逻辑卷名

vgcreate -s 指定PE大小

lvcreate -l PE个数


二、软RAID磁盘阵列管理

1. RAID定义

    廉价冗余磁盘阵列,通过硬件/软件技术,将多个较小/低速的磁盘整合成一个大磁盘,不仅可用存储数据,还可以对数据提供一定的保护

2. RAID级别

    RAID0:条带模式,由二个和二个以上的磁盘组成,同一份文档分散在不同的磁盘中,并行写入提高效率

    RAID1:镜像模式,由二个和二个以上的磁盘组成,一份文件会被分别写入到不同的磁盘中,每份磁盘数据一样,提供容错,读效率提高

    RAID1+0/RAID0+1:整合RAID0、RAID1的优势。并行存取提高效率。镜像写入提高可靠性

    RAID5:结合RAID0和RAID1的好处,同时避免他们的缺点。由三个以上大小相同的磁盘组成,提供冗余

3. RAID实现方式

    硬RAID:性能好,需要专门配置RAID卡

    软RAID:在Linux中通过软件模拟,效率差

4. 创建软RAID

    mdadm -C 阵列名 [选项]  成员盘

            -C    创建

            -l    指定RAID级别

            -n   指定成员盘数量

            -x    指定冗余盘数量

            -v    显示详细执行过程信息

5. 模拟故障

    mdadm 阵列名 [选项] 成员盘

            -f    将某个成员盘标记为故障

            -r    移除成员盘

            -a    添加成员盘

6. 查看RAID阵列

            -D    显示详细信息

            -E    查看超级快信息

            -s    扫描运行中的阵列

7. 启用/停用RAID阵列

    mdadm -S    停用

    mdadm -A    启用

8. /proc/mdstat            记录运行中阵列的状态

9. /etc/mdadm.conf        存放RAID阵列的固定设置




练习一:创建卷组

    1)准备3块10G的空闲分区,将类型ID修改为8e (LVM)

    2)使用其中2块分区组建名为myvg的卷组,查看此卷组信息

a)先检查有哪些物理卷

b)将两块空闲分区转换成物理卷

c)再检查有哪些物理卷,查看其中一个物理卷的详细信息

d)先查看有哪些卷组

e)将两个物理卷整编成卷组myvg

f)再查看有哪些卷组,并查看卷组myvg的详细信息

#########################################################################

[root@localhost ~]# fdisk -l

[root@localhost ~]# fdisk /dev/sdb

Command (m for help): n

Command action

   e   extended

   p   primary partition (1-4)

p

Partition number (1-4): 1

First cylinder (1-10443, default 1): 

Using default value 1

Last cylinder or +size or +sizeM or +sizeK (1-10443, default 10443): +10G


Command (m for help): n

Command action

   e   extended

   p   primary partition (1-4)

p

Partition number (1-4): 2

First cylinder (1218-10443, default 1218): 

Using default value 1218

Last cylinder or +size or +sizeM or +sizeK (1218-10443, default 10443): +10G


Command (m for help): n

Command action

   e   extended

   p   primary partition (1-4)

p

Partition number (1-4): 3

First cylinder (2435-10443, default 2435): 

Using default value 2435

Last cylinder or +size or +sizeM or +sizeK (2435-10443, default 10443): +10G


Command (m for help): p

Command (m for help): t

Partition number (1-4): 1

Hex code (type L to list codes): 8e

Changed system type of partition 1 to 8e (Linux LVM)


Command (m for help): t

Partition number (1-4): 2

Hex code (type L to list codes): 8e

Changed system type of partition 2 to 8e (Linux LVM)


Command (m for help): t

Partition number (1-4): 3

Hex code (type L to list codes): 8e

Changed system type of partition 3 to 8e (Linux LVM)


Command (m for help): p

Command (m for help): w

[root@localhost ~]# 

[root@localhost ~]# pvcreate /dev/sdb1

[root@localhost ~]# pvcreate /dev/sdb2

[root@localhost ~]# pvcreate /dev/sdb3

[root@localhost ~]# pvcreate /dev/sdb1

[root@localhost ~]# pvcreate /dev/sdb2

[root@localhost ~]# pvcreate /dev/sdb3

[root@localhost ~]# vgcreate myvg /dev/sdb[1-2]

[root@localhost ~]# pvscan

[root@localhost ~]# pvscan /dev/sdb1

[root@localhost ~]# vgscan

###########################################################################

wKioL1PnZPaQHjE9AAQ5n9Rf7W0395.jpg

wKiom1PnY96RMX8OAAMlP6GQ1wk021.jpg

wKioL1PnZPiwnBfUAAQorbKm6JU404.jpg

wKiom1PnY-CTrmBFAAXqzAT8AkU809.jpg


练习二:创建/使用/扩展逻辑卷

    1)划分一个16G的逻辑卷,名称为lvmbox,查看逻辑卷信息

    2)将此逻辑卷格式化为ext3文件系统,并挂载到/mbox目录

    3)进入/mbox目录,测试读写操作

    4)将逻辑卷从16G扩展为24G,确保df识别的大小准确

a)先扩展卷组(增加一个10G物理卷),再扩展逻辑卷

b)resize2fs识别新文件系统的大小

    5)创建一个大小为250M的逻辑卷lvtest

###########################################################################

[root@localhost ~]# lvcreate -L 16G -n lvmbox myvg

[root@localhost ~]# lvscan

[root@localhost ~]# mkfs.ext3 /dev/myvg/lvmbix

[root@localhost ~]# mkdir /mbox

[root@localhost ~]# mount /dev/myvg/lvmbox /mbox

[root@localhost ~]# mount

[root@localhost ~]# cd /mbox

[root@localhost mbox]# touch test.txt

[root@localhost mbox]# ls

lost+found  test.txt

[root@localhost mbox]# cd

[root@localhost ~]# pvcreate /dev/sdb3

  Writing physical volume data to disk "/dev/sdb3"

  Physical volume "/dev/sdb3" successfully created

[root@localhost ~]# vgextend myvg /dev/sdb3

[root@localhost ~]# 

[root@localhost ~]# lvextend -L 24G /dev/myvg/lvmbox 

  Extending logical volume lvmbox to 24.00 GB

  Logical volume lvmbox successfully resized

[root@localhost ~]# df -h

[root@localhost ~]# resize2fs /dev/myvg/lvmbox

[root@localhost ~]# df -h

[root@localhost ~]# lvcreate -L 250 -n lvswap myvg

  Rounding up size to full physical extent 252.00 MB

  Logical volume "lvswap" created

[root@localhost ~]# lvscan

  ACTIVE            ‘/dev/myvg/lvmbox‘ [24.00 GB] inherit

  ACTIVE            ‘/dev/myvg/lvswap‘ [252.00 MB] inherit

[root@localhost ~]#

###########################################################################

wKioL1PnZaryAuBpAATcl74UmT4842.jpg

wKiom1PnZJLQBz1KAAXJe1WHRrs638.jpg

wKioL1PnZayghOHTAAU7B7rFPXw669.jpg

wKiom1PnZJSRxB0XAAF4zbDtboQ927.jpg

练习三:逻辑卷综合应用

    1)删除上一练习建立的卷组myvg

    2)使用其中2个物理卷组成卷组vgnsd,另一个物理卷组成卷组vgdata

    3)从卷组vgnsd中创建一个20G的逻辑卷lvhome

    4)从卷组vgdata中创建一个4G的逻辑卷lvswap

    5)将/home目录迁移到逻辑卷lvhome上

    6)将逻辑卷lvswap扩展到交换空间

    7)为第5、6步配置开机自动挂载,重启后验证

###########################################################################

[root@localhost ~]# umount /dev/myvg/lvmbox

[root@localhost ~]# lvremove /dev/myvg/lvmbox

Do you really want to remove active logical volume lvmbox? [y/n]: y

  Logical volume "lvmbox" successfully removed

You have mail in /var/spool/mail/root

[root@localhost ~]# vgremove /dev/myvg

Do you really want to remove volume group "myvg" containing 1 logical volumes? [y/n]: y

Do you really want to remove active logical volume lvswap? [y/n]: y

  Logical volume "lvswap" successfully removed

  Volume group "myvg" successfully removed

[root@localhost ~]# vgscan

  Reading all physical volumes.  This may take a while...

  No volume groups found

[root@localhost ~]# lvscan

  No volume groups found

[root@localhost ~]# vgcreate vgnsd /dev/sdb[1-2]

  Volume group "vgnsd" successfully created

[root@localhost ~]# vgcreate vgdata /dev/sdb3

  Volume group "vgdata" successfully created

[root@localhost ~]# lvcreate -L 4G -n lvswap vgdata

  Logical volume "lvswap" created

[root@localhost ~]# lvscan

  ACTIVE            ‘/dev/vgdata/lvswap‘ [4.00 GB] inherit

[root@localhost ~]# lvcreate -l 4772 -n lvhome vgnsd 

  Logical volume "lvhome" created

[root@localhost ~]# lvscan

  ACTIVE            ‘/dev/vgdata/lvswap‘ [4.00 GB] inherit

  ACTIVE            ‘/dev/vgnsd/lvhome‘ [18.64 GB] inherit

[root@localhost ~]# mkdir /opt/home

[root@localhost ~]# cp -rpf /home/* /opt/home

[root@localhost ~]# mkfs.ext3 /dev/vgnsd/lvhome

[root@localhost ~]# mount /dev/vgnsd/lvhome /home

[root@localhost ~]# cp -rpf /opt/home/* /home

[root@localhost ~]# mkswap /dev/vgdata/lvswap

Setting up swapspace version 1, size = 4294963 kB

[root@localhost ~]# swapon /dev/vgdata/lvswap 

[root@localhost ~]# free -m

[root@localhost ~]# vim /etc/fstab

/dev/vgnsd/lvhome       /home                   ext3    defaults        0 0

/dev/vgdata/lvswap      swap                    swap    defaults        0 0

[root@localhost ~]# mount

[root@localhost ~]# df -h

[root@localhost ~]# free -m

wKiom1PnZMzjQcwJAAVDqypghVg095.jpg

wKioL1PnZebQ2ykUAAMqR0btmdI068.jpg

wKiom1PnZM2TOhudAAGDOxQ1A3w540.jpg

wKioL1PnZefRi-anAAJu7hYs8_0436.jpg

wKiom1PnZM7wigHBAAJTXYOsTFg636.jpg

wKioL1PnZeiwcDWgAAUFIjy-lH8361.jpg

wKiom1PnZNDSaTDbAALhur5BiLo772.jpg

wKioL1PnZerCNAHaAAQ0JtzPLvg570.jpg

wKioL1PnZerjFzZ5AAGcIV6DF44836.jpg

wKiom1PnZNLAHeEOAAEHu1mLFQE359.jpg