linux 如何创建卷组

linux 如何创建卷组,第1张

1. 创建一个物理

Pvcreate /dev/sd1

/dev/sd2 /dev/sd3 /dev/sd4

2. 用刚才创建的物理卷创建一个卷组

Vgcreate 卷组名 /dev/sd1

/dev/sd2 /dev/sd3 /dev/sd4

3. 创建逻辑

Lvcreate -L

(size) -n (name) 卷组名

4. 创建文件系统

Mkfs.ext3 逻辑卷名(/dev/卷组名/逻辑卷名)

创建挂载点

mkdir /name

mount /dev/卷组名/逻辑卷名 /挂载点

pvcreate /dev/emcpowers1 /dev/emcpowerq1 /dev/emcpowerp1

/dev/emcpowerr1

vgcreate backupvg /dev/emcpowers1 /dev/emcpowerq1

/dev/emcpowerp1 /dev/emcpowerr1

lvcreate –L 790G –n backuplv backupvg

mkfs.ext3 /dev/mapper/backupvg-backuplv

mkdir /backupdb

mount /dev/mapper/backupvg-backuplv /backupdb

LVM逻辑卷管理器是对Linux系统中对存储资源进行管理的一种机制,部署LVM逻辑卷管理器需要依次对对物理卷、卷组和逻辑卷的逐个配置,常见的命令分别包括有:

功能/命令物理卷管理卷组管理逻辑卷管理

扫描pvscanvgscanlvscan

建立pvcreatevgcreatelvcreate

显示pvdisplayvgdisplaylvdisplay

删除pvremovevgremovelvremove

扩展vgextendlvextend

为避免实验之间互相冲突,请您自行还原虚拟机到最初始状态,并在虚拟机中添加两块新硬盘设备后开机,如图7-7所示:

图7-7 在虚拟机中添加一块新的硬盘设备

在虚拟机中添加两块新硬盘设备的目的是为了更好的向同学们演示LVM逻辑卷管理器对于让用户无需关心底层物理硬盘设备的特性,咱们将会对这两块新的硬盘先进行创建物理卷 *** 作,可以简单理解成让硬盘设备支持了LVM技术,然后将两块硬盘进行卷组合并,卷组的名称可以由您来自定义,接下来是将合并后的卷组根据需求再切割出一个约为150M的逻辑卷设备,最后将这个逻辑卷设备格式化成XFS文件系统后挂载使用。现在知道大致的流程后就可以,刘遄老师还会对下面每一个步骤再做一些简单的描述。

第1步:让新添加的两块硬盘设备支持LVM逻辑卷管理器技术:

[root@linuxprobe ~]# pvcreate /dev/sdb /dev/sdc

Physical volume "/dev/sdb" successfully created

Physical volume "/dev/sdc" successfully created

第2步:将两块硬盘设备都加入到storage卷组中,然后查看下卷组的状态:

[root@linuxprobe ~]# vgcreate storage /dev/sdb /dev/sdc

Volume group "storage" successfully created

[root@linuxprobe ~]# vgdisplay

--- Volume group ---

VG Name storage

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 39.99 GiB

PE Size 4.00 MiB

Total PE 10238

Alloc PE / Size 0 / 0 Free PE / Size 10238 / 39.99 GiB

VG UUID KUeAMF-qMLh-XjQy-ArUo-LCQI-YF0o-pScxm1

………………省略部分输出信息………………

第3步:切割出一个约为150M的逻辑卷设备:

同学们需要注意下切割单位的问题,在LVM逻辑卷管理器对LV逻辑卷的切割上面有两种计量单位,第一种是常见以-L参数来以容量单位为对象,例如使用-L 150M来生成一个大小为150M的逻辑卷,还可以使用-l参数来指定要使用PE基本单元的个数,默认每个PE的大小为4M,因此允许使用-l 37来生成一个大小为37*4M=148M的逻辑卷:

[root@linuxprobe ~]# lvcreate -n vo -l 37 storage

Logical volume "vo" created

[root@linuxprobe ~]# lvdisplay

--- Logical volume ---

LV Path /dev/storage/vo

LV Name vo

VG Name storage

LV UUID D09HYI-BHBl-iXGr-X2n4-HEzo-FAQH-HRcM2I

LV Write Access read/write

LV Creation host, time localhost.localdomain, 2017-02-01 01:22:54 -0500

LV Status available

# open 0

LV Size 148.00 MiB

Current LE 37

Segments 1

Allocation inherit

Read ahead sectors auto

- currently set to 8192

Block device 253:2

………………省略部分输出信息………………

第4步:将生成好的逻辑卷格式化后挂载使用:

Linux系统会把LVM逻辑卷管理器中的逻辑卷设备存放在/dev设备目录中(实际上是做了一个符号链接,但读者们无需关心),同时会以卷组的名称来建立一个目录,其中保存有逻辑卷的设备映射文件。

[root@linuxprobe ~]# mkfs.ext4 /dev/storage/vo

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

38000 inodes, 151552 blocks

7577 blocks (5.00%) reserved for the super user

First data block=1

Maximum filesystem blocks=33816576

19 block groups

8192 blocks per group, 8192 fragments per group

2000 inodes per group

Superblock backups stored on blocks:

8193, 24577, 40961, 57345, 73729

Allocating group tables: done

Writing inode tables: done

Creating journal (4096 blocks): done

Writing superblocks and filesystem accounting information: done

[root@linuxprobe ~]# mkdir /linuxprobe

[root@linuxprobe ~]# mount /dev/storage/vo /linuxprobe

第5步:查看挂载状态,并写入到配置文件永久生效:

[root@linuxprobe ~]# df -h

Filesystem Size Used Avail Use% Mounted on

/dev/mapper/rhel-root 18G 3.0G 15G 17% /

devtmpfs 905M 0 905M 0% /dev

tmpfs 914M 140K 914M 1% /dev/shm

tmpfs 914M 8.8M 905M 1% /run

tmpfs 914M 0 914M 0% /sys/fs/cgroup

/dev/sr0 3.5G 3.5G 0 100% /media/cdrom

/dev/sda1 497M 119M 379M 24% /boot

/dev/mapper/storage-vo 145M 7.6M 138M 6% /linuxprobe

[root@linuxprobe ~]# echo "/dev/storage/vo /linuxprobe ext4 defaults 0 0" >>/etc/fstab

7.2.2 扩容逻辑卷

虽然咱们的卷组是由两块硬盘设备共同组成的,但用户使用存储资源时感知不到底层硬盘的结构,也不用关心底层是由多少块硬盘组成的,只要卷组中的资源足够就可以一直为逻辑卷扩容,扩展前请一定要记得卸载设备和挂载点的关联。

[root@linuxprobe ~]# umount /linuxprobe

第1步:将上个实验中的逻辑卷vo扩展至290M:

[root@linuxprobe ~]# lvextend -L 290M /dev/storage/vo

Rounding size to boundary between physical extents: 292.00 MiB

Extending logical volume vo to 292.00 MiB

Logical volume vo successfully resized

第2步:检查磁盘完整性,重置硬盘容量:

[root@linuxprobe ~]# e2fsck -f /dev/storage/vo

e2fsck 1.42.9 (28-Dec-2013)

Pass 1: Checking inodes, blocks, and sizes

Pass 2: Checking directory structure

Pass 3: Checking directory connectivity

Pass 4: Checking reference counts

Pass 5: Checking group summary information

/dev/storage/vo: 11/38000 files (0.0% non-contiguous), 10453/151552 blocks

[root@linuxprobe ~]# resize2fs /dev/storage/vo

resize2fs 1.42.9 (28-Dec-2013)

Resizing the filesystem on /dev/storage/vo to 299008 (1k) blocks.

The filesystem on /dev/storage/vo is now 299008 blocks long.

第3步:重新挂载硬盘设备并查看挂载状态:

[root@linuxprobe ~]# mount -a

[root@linuxprobe ~]# df -h

Filesystem Size Used Avail Use% Mounted on

/dev/mapper/rhel-root 18G 3.0G 15G 17% /

devtmpfs 985M 0 985M 0% /dev

tmpfs 994M 80K 994M 1% /dev/shm

tmpfs 994M 8.8M 986M 1% /run

tmpfs 994M 0 994M 0% /sys/fs/cgroup

/dev/sr0 3.5G 3.5G 0 100% /media/cdrom

/dev/sda1 497M 119M 379M 24% /boot

/dev/mapper/storage-vo 279M 2.1M 259M 1% /linuxprobe

7.2.3 缩小逻辑卷

相比于扩容逻辑卷来讲,对逻辑卷的缩小 *** 作存在着更高丢失数据的风险,所以在生产环境中同学们一定要留心记得提前备份好数据,另外Linux系统规定对LVM逻辑卷的缩小 *** 作需要先检查文件系统的完整性,当然这也是在保证咱们的数据安全, *** 作前记得先把文件系统卸载掉:

[root@linuxprobe ~]# umount /linuxprobe

第1步:检查文件系统的完整性:

[root@linuxprobe ~]# e2fsck -f /dev/storage/vo

e2fsck 1.42.9 (28-Dec-2013)

Pass 1: Checking inodes, blocks, and sizes

Pass 2: Checking directory structure

Pass 3: Checking directory connectivity

Pass 4: Checking reference counts

Pass 5: Checking group summary information

/dev/storage/vo: 11/74000 files (0.0% non-contiguous), 15507/299008 blocks

第2步:将LV逻辑卷的容量减小到120M:

[root@linuxprobe ~]# resize2fs /dev/storage/vo 120M

resize2fs 1.42.9 (28-Dec-2013)

Resizing the filesystem on /dev/storage/vo to 122880 (1k) blocks.

The filesystem on /dev/storage/vo is now 122880 blocks long.

[root@linuxprobe ~]# lvreduce -L 120M /dev/storage/vo

WARNING: Reducing active logical volume to 120.00 MiB

THIS MAY DESTROY YOUR DATA (filesystem etc.)

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

Reducing logical volume vo to 120.00 MiB

Logical volume vo successfully resized

第3步:将文件系统重新挂载并查看系统状态:

[root@linuxprobe ~]# mount -a

[root@linuxprobe ~]# df -h

Filesystem Size Used Avail Use% Mounted on

/dev/mapper/rhel-root 18G 3.0G 15G 17% /

devtmpfs 985M 0 985M 0% /dev

tmpfs 994M 80K 994M 1% /dev/shm

tmpfs 994M 8.8M 986M 1% /run

tmpfs 994M 0 994M 0% /sys/fs/cgroup

/dev/sr0 3.5G 3.5G 0 100% /media/cdrom

/dev/sda1 497M 119M 379M 24% /boot

/dev/mapper/storage-vo 113M 1.6M 103M 2% /linuxprobe

7.2.4 逻辑卷快照

除此之外LVM逻辑卷管理器还具备有“快照卷”的功能,这项功能很类似于我们其他软件的还原时间点功能。例如我们可以对某一个LV逻辑卷设备做一次快照,如果今后发现数据被改错了,咱们可以将之前做好的快照卷进行覆盖还原,LVM逻辑卷管理器的快照功能有两项特点,第一是快照卷的大小应该尽量等同于LV逻辑卷的容量,第二是快照功能仅一次有效,一旦被还原后则会被自动立即删除。我们首先应当查看下卷组的信息:

[root@linuxprobe ~]# vgdisplay

--- Volume group ---

VG Name storage

System ID

Format lvm2

Metadata Areas 2

Metadata Sequence No 4

VG Access read/write

VG Status resizable

MAX LV 0

Cur LV 1

Open LV 1

Max PV 0

Cur PV 2

Act PV 2

VG Size 39.99 GiB

PE Size 4.00 MiB

Total PE 10238

Alloc PE / Size 30 / 120.00 MiB Free PE / Size 10208 / 39.88 GiB

VG UUID CTaHAK-0TQv-Abdb-R83O-RU6V-YYkx-8o2R0e

………………省略部分输出信息………………

通过卷组的输出信息可以很清晰的看到卷组中已用120M,空闲资源有39.88G,接下来咱们在逻辑卷设备所挂载的目录中用重定向写入一个文件吧:

[root@linuxprobe ~]# echo "Welcome to Linuxprobe.com" >/linuxprobe/readme.txt

[root@linuxprobe ~]# ls /linuxprobe

total 14

drwx------. 2 root root 12288 Feb 1 07:18 lost+found

-rw-r--r--. 1 root root 26 Feb 1 07:38 readme.txt

第1步:使用-s参数来生成一个快照卷,使用-L参数来指定切割的大小,另外要记得在后面写上这个快照是针对那个逻辑卷做的。

[root@linuxprobe ~]# lvcreate -L 120M -s -n SNAP /dev/storage/vo

Logical volume "SNAP" created

[root@linuxprobe ~]# lvdisplay

--- Logical volume ---

LV Path /dev/storage/SNAP

LV Name SNAP

VG Name storage

LV UUID BC7WKg-fHoK-Pc7J-yhSd-vD7d-lUnl-TihKlt

LV Write Access read/write

LV Creation host, time localhost.localdomain, 2017-02-01 07:42:31 -0500

LV snapshot status active destination for vo

LV Status available

# open 0

LV Size 120.00 MiB

Current LE 30

COW-table size 120.00 MiB

COW-table LE 30

Allocated to snapshot 0.01%

Snapshot chunk size 4.00 KiB

Segments 1

Allocation inherit

Read ahead sectors auto

- currently set to 8192

Block device 253:3

………………省略部分输出信息………………

第2步:咱们在LV设备卷所挂载的目录中创建一个100M的垃圾文件,这样再来看快照卷的状态就会发现使用率上升了:

[root@linuxprobe ~]# dd if=/dev/zero of=/linuxprobe/files count=1 bs=100M

1+0 records in

1+0 records out

104857600 bytes (105 MB) copied, 3.35432 s, 31.3 MB/s

[root@linuxprobe ~]# lvdisplay

--- Logical volume ---

LV Path /dev/storage/SNAP

LV Name SNAP

VG Name storage

LV UUID BC7WKg-fHoK-Pc7J-yhSd-vD7d-lUnl-TihKlt

LV Write Access read/write

LV Creation host, time localhost.localdomain, 2017-02-01 07:42:31 -0500

LV snapshot status active destination for vo

LV Status available

# open 0

LV Size 120.00 MiB

Current LE 30

COW-table size 120.00 MiB

COW-table LE 30

Allocated to snapshot 83.71%

Snapshot chunk size 4.00 KiB

Segments 1

Allocation inherit

Read ahead sectors auto

- currently set to 8192

Block device 253:3

第3步:为了校验SNAP快照卷的效果,咱们需要对逻辑卷进行快照合并还原 *** 作,在这之前记得先卸载掉逻辑卷设备与目录的挂载~

[root@linuxprobe ~]# umount /linuxprobe

[root@linuxprobe ~]# lvconvert --merge /dev/storage/SNAP

Merging of volume SNAP started.

vo: Merged: 21.4%

vo: Merged: 100.0%

Merge of snapshot into logical volume vo has finished.

Logical volume "SNAP" successfully removed

第4步:快照卷会被自动删除掉,并且刚刚在逻辑卷设备被快照后再创建出来的100M垃圾文件也被清除了:

[root@linuxprobe ~]# mount -a

[root@linuxprobe ~]# ls /linuxprobe/

lost+found readme.txt

看下《Linux就该这么学》第7章节吧,第7章 使用RAID与LVM磁盘阵列技术

Linux和Windows都采用了MBR的磁盘管理方法,也就是先对一个硬盘进行分区,在对这个一般光盘进行格式化的方法;他们的区别是: Linux系统,是先进行磁盘分区,如果需要使用该分区,将其挂载到对应目录即可;而Windows则是自动将所有分区挂载好 传统的磁盘管理的缺点:不方便进行分区扩充、容易导致文件系统崩溃、不适用于作为生产环境的服务器、拷贝分区的时候要求强制卸载磁盘分区,分区转移时耗费的时间长;

LVM磁盘管理技术 是Linux环境下对磁盘管理的一种技术,是通过一个建立在硬盘和分区之上的逻辑层来提高磁盘分区的灵活性

物理卷(PV):就是真正的物理硬盘或物理分区

卷组(VG):是将多个物理硬盘整合到一起形成的逻辑卷组;也可以视作一块逻辑硬盘

逻辑卷(LV):卷组是一块逻辑硬盘,逻辑硬盘必须分区之后才能使用;逻辑卷可以视作是卷组的逻辑分区

物理扩展(PE):物理扩展是用来保存数据的最小单元

系统首先把物理硬盘合并为卷组;再通过卷组分区;将卷组(逻辑硬盘)分成逻辑分区(逻辑卷)进行使用;

把物理硬盘分成分区,也可以使用一整块的物理硬盘;把物理硬盘分区建立为物理卷(PV)也可以把整块物理硬盘都建立为物理卷;把刚刚划分的物理卷合为卷组(VG)卷组就已经可以动态的调整大小了,最后把卷组划分成逻辑卷,其中逻辑卷也是可以随时划分大小的

pvcreate命令在系统中一般用于创建物理卷;

语法结构

在使用这个命令的时候不要对存放Linux系统的盘符进行进行使用;我们在创建物理卷的时候都是对逻辑分区进行创建的;扩展分区(Extend)不能进行创建物理卷

pvdisplay 命令用于查看当前的分区情况

语法格式以及常用参数:

查看我们刚刚创建的物理卷

pvremove命令常用于删除对应的物理卷

语法结构:

删除我们刚刚创建的物理卷

vgcreate 命令的作用是将一个或多个物理卷整合成一个卷组;在创建卷组之前我们需要保证系统中有足够的除系统存放卷本身的物理卷(使用pvscan查看)需要注意的是,存放Linux的系统物理卷不能被划分到自定义卷组中、 常用参数:-s:设定PE(最小物理存储单元)的大小、-l:最大逻辑卷数量、-p:允许存在的最大物理卷数量

语法结构:

将我们刚刚创建物理卷添加到卷组之中

vgdisplay 这个命令可以用来查看我们创建的卷组; 常见的参数 -s 卷组信息以短格式输出 ;vgdisplay可以查看对应卷组的简短信息,所以相对于pvdisplay用处又大了那么一点

语法格式:

查看刚刚创建的卷组和某一个卷组的信息

同样:vgscan 命令也可以查看当前卷组使用情况的简短信息

vgremove 命令的作用是删除指定的卷组

语法结构:

删除我们刚刚创建的卷组

注意:当删除含有逻辑卷的卷组的时候系统会提示是否删除对应卷组和对应逻辑卷,只有在两个都输入:y之后系统才会删除对应的卷组

lvcreate 命令作用是在一个指定的卷组中创建一块逻辑卷,前提是要求有指定的卷组; 常用参数:-L:规定创建的逻辑卷大小(直接写大小就可以)、-l:通过PE划分逻辑卷的大小(后面接的数字是PE的个数)

语法结构:

在指定的卷组里创建逻辑卷

lvdisplay 命令可用于查看逻辑卷的详细信息,也可以用来查看指定逻辑卷的详细信息 参数:-m:查看对应逻辑卷的挂载信息

语法结构:

检查指定的逻辑卷,并查看指定逻辑卷的挂载信息:

管理逻辑卷大小的常用命令是lvextend 命令和 lvreduce 命令分别表示逻辑卷大小的扩充和减少, 其中lvextend命令表示逻辑卷大小扩充,常用参数 -L(指的是扩充的具体大小)、-l(指的是扩充的LE块数量);lvextend命令表示逻辑卷大小的减小,常用参数-L(指的是减小的具体大小)、-l(指的是减小的LE块数量)

语法结构:

对我们指定的两个逻辑卷分别进行容量的增加和减少,并挂载对应的逻辑卷


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/8618325.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-18
下一篇 2023-04-18

发表评论

登录后才能评论

评论列表(0条)

保存