如何在Linux中创建LVM镜像

时间:2020-03-05 15:27:42  来源:igfitidea点击:

在计算机世界中,存储是最重要的因素。
如果数据丢失,那么组织或者丢失了一切。
最初,数据存储在正常磁盘中,它没有灵活地管理数据,并且恢复管理是非常复杂的灾难。
为了实现灾难恢复管理的灵活性和目标,突袭被介绍。
使用RAID,可以维护冗余,但仍然没有灵活地管理文件系统和存储管理。
逻辑卷管理器(LVM)提供更高级别的磁盘存储视图。
LVM传统上与包含许多磁盘的大型安装相关联,甚至在小环境中非常使用。

LVM具有许多功能,如通过吸收新的物理卷(PV)在线调整卷组或者通过在在线上删除现有的PV和在线调整逻辑卷(LV),并将物理范围添加到现有的LV。

使用LVM我们可以创建读取以及LV的读写快照。
可以通过RAID 0或者RAID 1来跨多个PV的整体或者镜像LVS的整体或者部分镜像。
可以在PVS之间移动在线LV。
LVM还将在共享存储群集中工作。
我们将显示创建LVM镜像的步骤

1)创建分区

要创建LVM镜像,我们需要确保具有自由空间。

在我们的情况下,我们将使用fdisk命令创建两个分区(我们可以使用分区或者整个磁盘)。

在创建分区之前,请确保使用了多少汽缸以及有多少汽缸。

检查可用空间以创建分区。

# fdisk -l
Disk /dev/sdf: 10.7 GB, 10737418240 bytes
 255 heads, 63 sectors/track, 1305 cylinders
 Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
 /dev/sdf1 * 1 765 6144831 83 Linux
 /dev/sdf2 766 892 1020127+ 82 Linux swap/Solaris

上面的命令显示总汽缸是1305,用过的汽缸是892.
这意味着,我们还有自由圆柱体,因此我们可以创建分区。

使用fdisk创建两个新分区。

# fdisk /dev/sdf 
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): n
Partition type:
 p primary (2 primary, 0 extended, 2 free)
 e extended
Select (default p): p
Partition number (3,4, default 3): 
First sector (391168-20971519, default 391168): 
Using default value 391168
Last sector, +sectors or +size{K,M,G} (391168-20971519, default 20971519): +100MB
Partition 3 of type Linux and of size 95 MiB is set
Command (m for help): t
Partition number (1-3, default 3): 
Hex code (type L to list all codes): 8e
Changed type of partition 'Linux' to 'Linux LVM'
Command (m for help): n
Partition type:
 p primary (3 primary, 0 extended, 1 free)
 e extended
Select (default e): p
Selected partition 4
First sector (585728-20971519, default 585728): 
Using default value 585728
Last sector, +sectors or +size{K,M,G} (585728-20971519, default 20971519): +100MB
Partition 4 of type Linux and of size 95 MiB is set
Command (m for help): t
Partition number (1-4, default 4): 
Hex code (type L to list all codes): 8e
Changed type of partition 'Linux' to 'Linux LVM'
Command (m for help): p
Disk /dev/sdf: 10.7 GB, 10737418240 bytes, 20971520 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: 0xabe92155
 Device Boot Start End Blocks Id System
/dev/sdf1 * 1 765 6144831 83  Linux
/dev/sdf2 766 892 1020127+ 82 Linux swap/Solaris
/dev/sdf3 391168 585727 97280 8e Linux LVM
/dev/sdf4 585728 780287 97280 8e Linux LVM
Command (m for help): w
The partition table has been altered!
Calling ioctl() to re-read partition table.
Syncing disks.

创建分区时,请确保分区ID必须为8e。

2)创建物理量

现在我们有免费分区,我们需要使用上述分区创建物理卷。

创建物理量

# pvcreate /dev/sdf[3,4]
 Physical volume "/dev/sdf3" successfully created
 Physical volume "/dev/sdf4" successfully created

上面的命令将初始化分区为lvm分区。
这里LVM将仅将PV和UUID分配给分区。

3)创建卷组

现在我们创建了我们的物理卷,我们需要创建一个卷组。
如果我们已基于两个或者多个具有可用空间的磁盘/分区的VG,则无需创建一个新卷组

创建卷组

# vgcreate datavg /dev/sdf[3,4]
 Volume group "datavg" successfully created

上面的命令将创建卷组为Datavg。
LVM创建卷组描述符区域(VGDA)。
VGDA包含有关卷组的信息。
LVM在物理范围内创造(PE)。

4)创建镜像逻辑卷

在创建特定卷组中的镜像卷时,我们必须指定LVCreate命令的"-M"参数所需的数据副本数。
为了创建1个镜像数据,我们必须指定为"-m1"。
指定"-m1`创建一个镜像,它会产生两个文件系统的副本。

创建镜像LV.

# lvcreate -L 50M -m1 -n mirrorlv datavg
 Rounding up size to full physical extent 52.00 MB
 Logical volume "mirrorlv" created

在上面的命令中,我们创建了50MB的大小LV,其中包含了1个数据副本。
我们可以检查

# lvs
 LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
 root centos -wi-ao---- 17.47g 
 swap centos -wi-ao---- 2.00g 
 mirrorlv datavg rwi-a-r--- 50MB

我们可以使用"LVDisplay -V"命令查看镜像LV的状态。
只需搜索有关早期创建的逻辑卷的信息

# lvdisplay -v
--- Logical volume --
  LV Path                /dev/datavg/mirrorlv
  LV Name                mirrorlv1
  VG Name                datavg
  LV UUID                J2kcdf-YxAn-k2d2-KFGS-pnhb-0Zhz-GRECFr
  LV Write Access        read/write
  LV Creation host, time centos7-srv, 2016-05-08 03:17:28 +0100
  LV Status              available
  # open                 0
  LV Size                52.00 MiB
  Current LE             13
  Mirrored volumes       2
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     8192
  Block device           253:18

我们可以看到"镜像卷2"线,其中指示用于逻辑卷的磁盘数量,也可以扣除其他信息,该信息是逻辑卷的类型:镜像。

5)创建文件系统和安装

现在我们创建了逻辑卷,我们需要创建文件系统才能访问它

使用以下命令创建文件系统。

# mkfs:ext4 /dev/datavg/mirrorlv
mke2fs 1.42.9 (28-Dec-2013)
Filesystem label=
OS type: Linux
Block size=1024 (log=0)
Fragment size=1024 (log=0)
Stride=0 blocks, Stripe width=0 blocks
13328 inodes, 53248 blocks
2662 blocks (5.00%) reserved for the super user
First data block=1
Maximum filesystem blocks=54525952
7 block groups
8192 blocks per group, 8192 fragments per group
1904 inodes per group
Superblock backups stored on blocks: 
 8193, 24577, 40961
Allocating group tables: done 
Writing inode tables: done 
Writing superblocks and filesystem accounting information: done.

现在我们可以将文件系统安装到我们选择的位置。
用于安装文件系统的大多数常用方法是手动或者使用Mount命令或者通过在/etc/fstab中添加条目,以便文件系统在启动时已安装。

将文件系统安装到/mnt/mirrorlv的位置

# mount /dev/datavg/mirrorlv /mnt/mirrorlv

我们可以通过执行命令来验证。

df -Ph
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/centos-root 18G 5.2G 13G 30% /
devtmpfs 897M 0 897M 0% /dev
tmpfs 912M 156K 912M 1% /dev/shm
tmpfs 912M 9.1M 903M 1% /run
tmpfs 912M 0 912M 0% /sys/fs/cgroup
/dev/sda1 497M 189M 309M 38% /boot
tmpfs 183M 8.0K 183M 1% /run/user/1000
/dev/mapper/datavg-mirrorlv 51M 842K 47M 2% /mnt/mirrorlv