raid工作原理和LVM创建管理

Raid 0 性能最好,多块硬盘并行写入,数据分成512k每小块分布在三块硬盘上,但是没有容错性,2块硬盘就能做

 

Raid  1磁盘利用率只有50%,叫镜像卷,两块盘数据一摸一样,这里讲下raid234都已被淘汰,其中raid4的原理是4块磁盘,在其中一块磁盘上有个校验位,当1,2,3块磁盘中任何一块坏了可以通过第4块磁盘上的校验位算出来损坏磁盘上的数据

 

 

创建逻辑卷,

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

Welcome to fdisk (util-linux 2.23.2).

Changes will remain in memory only, until you decide to write them.

Be careful before using the write command.

Command (m for help): p

Disk /dev/sdb: 21.5 GB, 21474836480 bytes, 41943040 sectors

Units = sectors of 1 * 512 = 512 bytes

Sector size (logical/physical): 512 bytes / 512 bytes

I/O size (minimum/optimal): 512 bytes / 512 bytes

Disk label type: dos

Disk identifier: 0x9dbfc842

   Device Boot      Start         End      Blocks   Id  System

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): +5G

Partition 1 of type Linux and of size 5 GiB is set

Command (m for help): n

Partition type:

   p   primary (1 primary, 0 extended, 3 free)

   e   extended

Select (default p): p

Partition number (2-4, default 2): 2

First sector (10487808-41943039, default 10487808):

Using default value 10487808

Last sector, +sectors or +size{K,M,G} (10487808-41943039, default 41943039): +8G

Partition 2 of type Linux and of size 8 GiB is set

注意:还要使用t参数改 system id 改为8e(lvm)

先把物理的磁盘变成物理卷

[root@localhost ~]# pvs      查看物理卷信息

  PV         VG     Fmt  Attr PSize  PFree

  /dev/sda2  centos lvm2 a--  24.80g    0

[root@localhost ~]# pvdisplay    查看物理卷信息

  --- Physical volume ---

  PV Name               /dev/sda2

  VG Name               centos

  PV Size               24.80 GiB / not usable 3.00 MiB

  Allocatable           yes (but full)

  PE Size               4.00 MiB

  Total PE              6349

  Free PE               0

  Allocated PE          6349

  PV UUID               iW76Q5-9Sc8-6xgg-RQuD-tJPW-mMQk-0UNRGa

使用sdb1,和sdb2来创建物理卷,警告是提醒我们上面曾经有数据

[root@localhost ~]# pvcreate /dev/sdb{1,2}

WARNING: xfs signature detected on /dev/sdb1 at offset 0. Wipe it? [y/n]: y

  Wiping xfs signature on /dev/sdb1.

WARNING: xfs signature detected on /dev/sdb2 at offset 0. Wipe it? [y/n]: y

  Wiping xfs signature on /dev/sdb2.

  Physical volume "/dev/sdb1" successfully created.

  Physical volume "/dev/sdb2" successfully created.

此时在查看sdb1和sdb2上面VG一栏是空的,还没有卷组,PE的大小也没有

[root@localhost ~]# vgs      查看卷组

  VG     #PV #LV #SN Attr   VSize  VFree

  centos   1   2   0 wz--n- 24.80g    0

[root@localhost ~]# vgdisplay   查看卷组

  --- Volume group ---

  VG Name               centos

  System ID             

  Format                lvm2

  Metadata Areas        1

  Metadata Sequence No  3

  VG Access             read/write

  VG Status             resizable

  MAX LV                0

  Cur LV                2

  Open LV               2

  Max PV                0

  Cur PV                1

  Act PV                1

  VG Size               24.80 GiB

  PE Size               4.00 MiB

  Total PE              6349

  Alloc PE / Size       6349 / 24.80 GiB

  Free  PE / Size       0 / 0   

  VG UUID               vbPBqJ-Alm9-JUpP-OQ6D-EP3c-vMsj-TCWCsk

[root@localhost ~]# vgcreate vg00 /dev/sdb{1,2}

  Volume group "vg00" successfully created 

创建卷组名叫vg00  ,把asb1和sdb2 加入vg00的卷组

卷组有了现在开始创建逻辑卷

[root@localhost ~]# lvs  查看逻辑卷

[root@localhost ~]# lvdisplay   查看逻辑卷

[root@localhost ~]# lvcreate -n mysql -L 9G vg00 

  Logical volume "mysql" created.

-n参数表示给创建的逻辑卷取个名,-L指明逻辑卷的大小这里输的是9G,后面跟vg00表示从vg00的卷组里取

[root@localhost ~]# mkfs.xfs /dev/vg00/mysql  创建文件系统

[root@localhost ~]# blkid    使用逻辑卷的uuid

/dev/mapper/vg00-mysql: UUID="6bcd7019-4134-4a8f-8f04-cb34e092a27d" TYPE="xfs"

[root@localhost ~]# mkdir /mnt/mysql    创建目录后挂载

[root@localhost ~]# mount /dev/vg00/mysql /mnt/mysql

[root@localhost ~]# df -h    查看已挂载成功

Filesystem               Size  Used Avail Use% Mounted on

/dev/mapper/vg00-mysql   9.0G   33M  9.0G   1% /mnt/mysql

重启后就没了,要想永久挂载还得写入/etc/fstab内

测试逻辑卷读写速度,写一样的数据,还是有提升

[root@localhost ~]# dd if=/dev/zero of=/data/f1 bs=1M count=1024

1024+0 records in

1024+0 records out

1073741824 bytes (1.1 GB) copied, 7.59181 s, 141 MB/s

[root@localhost ~]# dd if=/dev/zero of=/mnt/mysql/f2 bs=1M count=1024

1024+0 records in

1024+0 records out

1073741824 bytes (1.1 GB) copied, 3.06795 s, 350 MB/s

11.4章LVM管理详解

扩展逻辑卷,前提是卷组有空间可以扩展,

[root@localhost ~]# vgdisplay     可以查到卷组还有4个G空间可以扩展

  --- Volume group ---

  VG Name               vg00

  Alloc PE / Size       2304 / 9.00 GiB

  Free  PE / Size       1022 / 3.99 GiB

  VG UUID               hjshDc-2WNt-PsxS-Q9D0-x3oP-QlNJ-wLgkiH

[root@localhost ~]# lvextend -l +100%free /dev/vg00/mysql   扩展逻辑卷

  Size of logical volume vg00/mysql changed from 9.00 GiB (2304 extents) to 12.99 GiB (3326 extents).

  Logical volume vg00/mysql successfully resized. 

-l参数后跟增加的空间数,再后面接要扩展的逻辑卷,默认只能vg00分配空间

[root@localhost ~]# xfs_growfs /mnt/mysql/   更新文件系统,如果原来文件系统是etx4命令不一样

[root@localhost ~]# df -h    此时再查看文件系统已更新,且并不影响用户使用

Filesystem               Size  Used Avail Use% Mounted on

/dev/mapper/centos-root   23G  2.9G   20G  13% /

/dev/sda1                197M  128M   69M  65% /boot

/dev/mapper/vg00-mysql    13G  1.1G   12G   8% /mnt/mysql

再添加一块新硬盘到vg00的卷组里面

[root@localhost ~]#  echo "- - -" > /sys/class/scsi_host/host2/scan  添加硬盘后刷新

硬盘不用改system id

[root@localhost ~]# pvcreate /dev/sdc   直接创建物理卷

  Physical volume "/dev/sdc" successfully created.

[root@localhost ~]# blkid    查看

/dev/sdc: UUID="TdOzbM-UgWw-4HEC-gePy-5PBh-zqFb-0eF7Ey" TYPE="LVM2_member"

[root@localhost ~]# pvs    已经多了个物理卷

  PV         VG     Fmt  Attr PSize  PFree

  /dev/sda2  centos lvm2 a--  24.80g    0

  /dev/sdc          lvm2 ---   5.00g 5.00g

[root@localhost ~]# vgextend  vg00  /dev/sdc  扩展vg00,把sdc加进去

  Volume group "vg00" successfully extende

现在可以扩展原来的逻辑卷,也可以创建新的逻辑卷

[root@localhost ~]# lvcreate -n binlog -L 3G vg00  以创建新逻辑卷为例

  Logical volume "binlog" created 

[root@localhost ~]# mkfs.ext4 /dev/vg00/binlog  本例使用ext4来举例

[root@localhost ~]# mount /dev/vg00/binlog /mnt/binlog

[root@localhost ~]# lvextend -l +200 /dev/vg00/binlog扩展binlog,增加200个pe,一个pe 4m

  Size of logical volume vg00/binlog changed from 3.00 GiB (768 extents) to 3.78 GiB (968 extents).

  Logical volume vg00/binlog successfully resized.

同样要更新文件系统后才能看到

[root@localhost ~]# resize2fs /dev/vg00/binlog 更新文件系统etx4的命令

resize2fs 1.42.9 (28-Dec-2013)

Filesystem at /dev/vg00/binlog is mounted on /mnt/binlog; on-line resizing required

old_desc_blocks = 1, new_desc_blocks = 1

The filesystem on /dev/vg00/binlog is now 991232 blocks lo

[root@localhost ~]# lvextend -r -l +100 /dev/vg00/binlog也可以在扩展时加-r的参数,实时更新文件系统

缩减逻辑卷文件系统,首先要先取消挂载

[root@localhost ~]# umount /mnt/binlog

然后先缩文件系统,再缩小逻辑卷

[root@localhost ~]# resize2fs /dev/vg00/binlog 3G   缩小到3个G,提示先运行下面的命令

resize2fs 1.42.9 (28-Dec-2013)

Please run 'e2fsck -f /dev/vg00/binlog' first.

[root@localhost ~]# e2fsck -f /dev/vg00/binlog   运行下

[root@localhost ~]# resize2fs /dev/vg00/binlog 3G  在缩小文件系统至3G

[root@localhost ~]# lvreduce -L 3G /dev/vg00/binlog  之后缩小逻辑卷至3G

  WARNING: Reducing active logical volume to 3.00 GiB.

  THIS MAY DESTROY YOUR DATA (filesystem etc.)

Do you really want to reduce vg00/binlog? [y/n]: y

  Size of logical volume vg00/binlog changed from 4.17 GiB (1068 extents) to 3.00 GiB (768 extents).

  Logical volume vg00/binlog successfully resized.

[root@localhost ~]# mount /dev/vg00/binlog /mnt/binlog/

[root@localhost ~]# df -h

Filesystem               Size  Used Avail Use% Mounted on

/dev/mapper/vg00-binlog  2.9G  9.0M  2.8G   1% /mnt/binlog

只能所etx4的,缩不了xfs的,xfs的只能扩不能缩

迁移举例:

[root@localhost binlog]# umount /mnt/binlog/    先将逻辑卷挂载的文件系统卸载

[root@localhost /]# vgrename vg00 vg11    注意不要和迁移到目标主机上的卷组名称一样了,要设置为不一样(改名)

  Volume group "vg00" successfully renamed to "vg11"

[root@localhost /]# vgchange -an vg11  先禁用卷组     

  0 logical volume(s) in volume group "vg11" now active

[root@localhost mysql]# vgexport vg11   将卷组导出来,此时源主机可以关机,将硬盘装到目标主机上

  Volume group "vg11" successfully exported

以下在目标主机上操作

将硬盘接到新主机上,

[root@localhost ~]# vgdisplay   查看是否有卷组

[root@localhost ~]# vgimport vg001   导入卷组

  Volume group "vg001" successfully imported

[root@localhost ~]# vgchange -ay vg001  启用卷组

  1 logical volume(s) in volume group "vg001" now active

[root@localhost ~]# mkdir /mnt/vg001-mysql   新建挂载点

[root@localhost ~]# mount /dev/vg001/mysql /mnt/vg001-mysql/  挂载原来的逻辑卷

查看数据还在

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值