系统相关
首页 > 系统相关> > Linux进阶只磁盘管理及LVM逻辑卷

Linux进阶只磁盘管理及LVM逻辑卷

作者:互联网

本节内容

磁盘管理

LVM

 

一、磁盘管理

1、硬盘接口

种类及其应用:

IDE接口硬盘多用于家用产品,部分应用于服务器

SATA

SCSI接口硬盘主要应用于服务器

SAS只在高端服务器上,价格昂贵

2、硬盘种类

a、SATA硬盘:SATA接口,又叫串口硬盘。PC机主流发展方向。有较强的纠错能力,错误一经发现能自动纠正,这样就大大的提高了数据传输的安全性。(0.5V电压,转速可达7200转/分)

b、SCSI硬盘:SCSI接口。优点:SCSI接口应用范围广、多任务、带宽大、CPU占用率低,以及热插拔等。它由于性能好、稳定性高,因此在服务器上得到广泛应用。缺点:由于SCSI硬盘价格非常昂贵,所以一般的PC是不会使用SCSI硬盘。 一般转速可达10000转/分。

c、SAS硬盘:SAS(Serial Attached SCSI)即串行连接SCSI,是新一代的SCSI技术,和现在流行的Serial ATA(SATA)硬盘相同,都是采用串行技术以获得更高的传输速度,并通过缩短连结线改善内部空间等。改善存储系统的效能、可用性和扩充性。 一般转速可达15000转/分,甚至更高。

3、分区符

MBR(Master Boot Record)硬盘的主引导记录

硬盘的0柱面、0磁头、1扇区称为主引导扇区(也叫主引导记录MBR)。它由三个部分组成,主引导程序、硬盘分区表DPT(Disk Partition table)和分区有效标志(55AA)。在总共512字节的主引导扇区里主引导程序(boot loader)占446个字节,第二部分是Partition table区(分区表),即DPT,占64个字节,硬盘中分区有多少以及每一分区的大小都记在其中。第三部分是magic number,占2个字节,固定为55AA。

512字节

三部分组成

主引导程序:bootloader 446

分区表:64字节

魔数:55AA

分区作用:

主分区:主要是用来启动操作系统的,它主要放的是操作系统的启动或引导程序,/boot分区最好放在主分区上

扩展分区:不能使用的,它只是做为逻辑分区的容器存在的,先创建一个扩展分区,在拓展分区之上创建逻辑分区;我们真正存放数据的是主分区和逻辑分区,大量数据都放在逻辑分区中。

注意:使用分区工具fdisk对磁盘进行操作,分区,格式化(重点)

主分区:最多是4个。编号默认是从1开始(1-4)。

扩展分区:最多是一个,可以是0个。

逻辑分区:可以很多个,逻辑分区是建立在扩展分区之上的(编号从5开始)

命名方式: /dev/sd[a-z]n

其中:a-z表示设备的序号,如sda表示第一块scsi硬盘,sdb就是第二块......,n表示每块磁盘上划分的磁盘分区编号。

4、文件系统

用户在硬件存储设备中执行的文件建立、写入、读取、修改、转存与控制等操作都是依靠文件系统来完成的。文件系统的作用是合理规划硬盘,以保证用户正常的使用需求。Linux系统支持数十种的文件系统,而最常见的文件系统如下所示。

centos6系统默认的是ext4

centos7系统默认的是xfs

Ext4:Ext3的改进版本,作为RHEL 6系统中的默认文件管理系统,它支持的存储容量高达1EB(1EB=1,073,741,824GB),且能够有无限多的子目录。另外,Ext4文件系统能够批量分配block块,从而极大地提高了读写效率。

XFS:是一种高性能的日志文件系统,而且是RHEL 7中默认的文件管理系统,它的优势在发生意外宕机后尤其明显,即可以快速地恢复可能被破坏的文件,而且强大的日志功能只用花费极低的计算和存储性能。并且它最大可支持的存储容量为18EB,这几乎满足了所有需求。

5、fdisk分区管理工具

m  查看全部可用的参数

n 添加新的分区

d  删除某个分区信息

l 列出所有可用的分区类型

t  改变某个分区的类型

p 打印分区信息(查看分区表信息)

w 保存分区信息并退出

q 不保存直接退出

fdisk:磁盘分区,是Linux发行版本中最常用的分区工具

用法:fdisk [选项] device   

例子1:创建主分区

第一步:创建主分区

[root@ken1 ~]# 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.

 

Device does not contain a recognized partition table

Building a new DOS disklabel with disk identifier 0x1eff4d75.

 

Command (m for help): m     #查看命令帮助信息

Command action

   a   toggle a bootable flag

   b   edit bsd disklabel

   c   toggle the dos compatibility flag

   d   delete a partition

   g   create a new empty GPT partition table

   G   create an IRIX (SGI) partition table

   l   list known partition types

   m   print this menu

   n   add a new partition

   o   create a new empty DOS partition table

   p   print the partition table

   q   quit without saving changes

   s   create a new empty Sun disklabel

   t   change a partition's system id

   u   change display/entry units

   v   verify the partition table

   w   write table to disk and exit

   x   extra functionality (experts only)

 

Command (m for help): n #创建新的分区

Partition type:

   p   primary (0 primary, 0 extended, 4 free)

   e   extended

Select (default p):   #创建主分区,回车默认是主分区

Using default response 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): +30G #分区大小不能超过磁盘总大小

Value out of range.

Last sector, +sectors or +size{K,M,G} (2048-41943039, default 41943039): +1G    #想要分区的大小   

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

 

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: 0x1eff4d75

 

   Device Boot      Start         End      Blocks   Id  System

/dev/sdb1            2048     2099199     1048576   83  Linux

 

Command (m for help): W   #保存当前分区信息

The partition table has been altered!

 

Calling ioctl() to re-read partition table.

Syncing disks.

 

 

 

第二步:查看分区

[root@ken1 ~]# ls /dev/sdb*

/dev/sdb  /dev/sdb1

 

 

第三步:进行格式化就是安装文件系统的过程

[root@ken1 ~]# mkfs.xfs /dev/sdb1

 

 

第四步:挂载使用

[root@ken1 ~]# mount /dev/sdb1 /ken

[root@ken1 ~]# df -h

Filesystem               Size  Used Avail Use% Mounted on

/dev/mapper/centos-root   17G  1.3G   16G   8% /

devtmpfs                 476M     0  476M   0% /dev

tmpfs                    488M     0  488M   0% /dev/shm

tmpfs                    488M  7.7M  480M   2% /run

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

/dev/sda1               1014M  142M  873M  14% /boot

/dev/sr0                 4.2G  4.2G     0 100% /mnt

tmpfs                     98M     0   98M   0% /run/user/0

/dev/sdb1               1014M   33M  982M   4% /ken

 

 

[root@ken1 ~]# mkdir /ken  #创建挂载点

[root@ken1 ~]# mount /dev/sdb1 /ken #把磁盘分区挂载到linux系统一个目录下

[root@ken1 ~]# df -h   #查看挂载信息

Filesystem               Size  Used Avail Use% Mounted on

/dev/mapper/centos-root   17G  1.3G   16G   8% /

devtmpfs                 476M     0  476M   0% /dev

tmpfs                    488M     0  488M   0% /dev/shm

tmpfs                    488M  7.7M  480M   2% /run

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

/dev/sda1               1014M  142M  873M  14% /boot

/dev/sr0                 4.2G  4.2G     0 100% /mnt

tmpfs                     98M     0   98M   0% /run/user/0

/dev/sdb1               1014M   33M  982M   4% /ken

 

 

第五步:验证数据写入位置 #数据写入磁盘中

[root@ken1 ~]# touch /ken/{1..100}.txt

[root@ken1 ~]# ls /ken

100.txt  17.txt  24.txt  31.txt  39.txt  46.txt  53.txt  60.txt  68.txt  75.txt  82.txt  8.txt   97.txt

10.txt   18.txt  25.txt  32.txt  3.txt   47.txt  54.txt  61.txt  69.txt  76.txt  83.txt  90.txt  98.txt

11.txt   19.txt  26.txt  33.txt  40.txt  48.txt  55.txt  62.txt  6.txt   77.txt  84.txt  91.txt  99.txt

12.txt   1.txt   27.txt  34.txt  41.txt  49.txt  56.txt  63.txt  70.txt  78.txt  85.txt  92.txt  9.txt

13.txt   20.txt  28.txt  35.txt  42.txt  4.txt   57.txt  64.txt  71.txt  79.txt  86.txt  93.txt

14.txt   21.txt  29.txt  36.txt  43.txt  50.txt  58.txt  65.txt  72.txt  7.txt   87.txt  94.txt

15.txt   22.txt  2.txt   37.txt  44.txt  51.txt  59.txt  66.txt  73.txt  80.txt  88.txt  95.txt

16.txt   23.txt  30.txt  38.txt  45.txt  52.txt  5.txt   67.txt  74.txt  81.txt  89.txt  96.txt

[root@ken1 ~]# umount /ken

[root@ken1 ~]# ls /ken

[root@ken1 ~]# mkdir /ken1

[root@ken1 ~]# mount /dev/sdb1 /ken1

[root@ken1 ~]# ls /ken1

100.txt  17.txt  24.txt  31.txt  39.txt  46.txt  53.txt  60.txt  68.txt  75.txt  82.txt  8.txt   97.txt

10.txt   18.txt  25.txt  32.txt  3.txt   47.txt  54.txt  61.txt  69.txt  76.txt  83.txt  90.txt  98.txt

11.txt   19.txt  26.txt  33.txt  40.txt  48.txt  55.txt  62.txt  6.txt   77.txt  84.txt  91.txt  99.txt

12.txt   1.txt   27.txt  34.txt  41.txt  49.txt  56.txt  63.txt  70.txt  78.txt  85.txt  92.txt  9.txt

13.txt   20.txt  28.txt  35.txt  42.txt  4.txt   57.txt  64.txt  71.txt  79.txt  86.txt  93.txt

14.txt   21.txt  29.txt  36.txt  43.txt  50.txt  58.txt  65.txt  72.txt  7.txt   87.txt  94.txt

15.txt   22.txt  2.txt   37.txt  44.txt  51.txt  59.txt  66.txt  73.txt  80.txt  88.txt  95.txt

16.txt   23.txt  30.txt  38.txt  45.txt  52.txt  5.txt   67.txt  74.txt  81.txt  89.txt  96.txt

 

 

实现开机自动挂载

 

 

方法一:

 

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

/dev/sdb1 /ken xfs defaults  0 0

/dev/sdb1    要挂载的分区设备

/ken    挂载点

xfs    文件系统类型

defaults    挂载选项

0    是否备份

0    是否检测

写到该文件中系统容易启动不起来,解决办法:

bios方法:

看视频!

 

方法二:

[root@ken1 ~]# vim /etc/rc.local

mount /dev/sdb1 /ken

[root@ken1 ~]# chmod +x /etc/rc.d/rc.local  #一定要加执行权限,否则文件中的命令无法执行

 

 

 

例子2:创建扩展分区

 

第一步:创建扩展分区

[root@ken1 ~]# 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): n

Partition type:

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

   e   extended

Select (default p): e   #创建拓展分区选择e

Partition number (2-4, default 2): 3    #分区编号可以在范围内自由选择

First sector (2099200-41943039, default 2099200):

Using default value 2099200

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

Partition 3 of type Extended and of size 3 GiB is set

 

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: 0x1eff4d75

 

   Device Boot      Start         End      Blocks   Id  System

/dev/sdb1            2048     2099199     1048576   83  Linux

/dev/sdb3         2099200     8390655     3145728    5  Extended

 

Command (m for help): W

The partition table has been altered!

 

Calling ioctl() to re-read partition table.

 

WARNING: Re-reading the partition table failed with error 16: Device or resource busy.

The kernel still uses the old table. The new table will be used at

the next reboot or after you run partprobe(8) or kpartx(8)

Syncing disks.

 

 

 

 

第二步:查看分区磁盘

[root@ken1 ~]# ls /dev/sdb*

/dev/sdb  /dev/sdb1

发现没有新创建的磁盘

 

第三步:同步分区表

[root@ken1 ~]# partprobe

Warning: Unable to open /dev/sr0 read-write (Read-only file system).  /dev/sr0 has been opened read-only.

[root@ken1 ~]# ls /dev/sdb*

/dev/sdb  /dev/sdb1  /dev/sdb3

 

例子3:创建逻辑分区

第一步:挂载逻辑分区

[root@ken1 ~]# 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): n

Partition type:

   p   primary (1 primary, 1 extended, 2 free)

   l   logical (numbered from 5)  

Select (default p): l  #选择l,逻辑分区编号是从5开始的,即使主分区的编号没用完

Adding logical partition 5

First sector (2101248-8390655, default 2101248):

Using default value 2101248

Last sector, +sectors or +size{K,M,G} (2101248-8390655, default 8390655): +4G

Value out of range.

Last sector, +sectors or +size{K,M,G} (2101248-8390655, default 8390655): +1G 

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

 

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: 0x1eff4d75

 

   Device Boot      Start         End      Blocks   Id  System

/dev/sdb1            2048     2099199     1048576   83  Linux

/dev/sdb3         2099200     8390655     3145728    5  Extended

/dev/sdb5         2101248     4198399     1048576   83  Linux

 

Command (m for help): w

The partition table has been altered!

 

Calling ioctl() to re-read partition table.

 

WARNING: Re-reading the partition table failed with error 16: Device or resource busy.

The kernel still uses the old table. The new table will be used at

the next reboot or after you run partprobe(8) or kpartx(8)

Syncing disks.

[root@ken1 ~]# partprobe

Warning: Unable to open /dev/sr0 read-write (Read-only file system).  /dev/sr0 has been opened read-only.

[root@ken1 ~]# ls /dev/sdb*

/dev/sdb  /dev/sdb1  /dev/sdb3  /dev/sdb5

 

 

第二步:格式化

[root@ken1 ~]# mkfs.xfs /dev/sdb5

 

第三步:挂载

[root@ken1 ~]# mount /dev/sdb5 /ken1

[root@ken1 ~]# df -h

Filesystem               Size  Used Avail Use% Mounted on

/dev/mapper/centos-root   17G  1.3G   16G   8% /

devtmpfs                 476M     0  476M   0% /dev

tmpfs                    488M     0  488M   0% /dev/shm

tmpfs                    488M  7.7M  480M   2% /run

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

/dev/sda1               1014M  142M  873M  14% /boot

/dev/sr0                 4.2G  4.2G     0 100% /mnt

/dev/sdb1               1014M   33M  982M   4% /ken

tmpfs                     98M     0   98M   0% /run/user/0

/dev/sdb5               1014M   33M  982M   4% /ken1

 

 

第四步:开机自启

echo "mount /dev/sdb5 /ken" >> /etc/rc.local

 

 

二、swap(交换)分区

SWAP(交换)分区是一种通过在硬盘中预先划分一定的空间,然后将把内存中暂时不常用的数据临时存放到硬盘中,以便腾出物理内存空间让更活跃的程序服务来使用的技术,其设计目的是为了解决真实物理内存不足的问题。但由于交换分区毕竟是通过硬盘设备读写数据的,速度肯定要比物理内存慢,所以只有当真实的物理内存耗尽后才会调用交换分区的资源。

swap交换分区就是把磁盘中一块当中内存使用

工作中建议不用!

如果工作中发现交换分区用的太多,需要考虑加大内存!

工作中建议交换分区大小设置为真实物理内存的1.5~2倍左右(物理内存为16G的话,交换分区大小设置32G)

查看交换分区:

[root@ken1 ~]# free -h

              total        used        free      shared  buff/cache   available

Mem:           974M         87M        751M        7.6M        134M        732M

Swap:          2.0G          0B        2.0G

 

例子1:添加2G交换分区

第一步:创建分区

 

 

第二步:格式化为swap类型

[root@ken1 ~]# mkswap /dev/sdb2

 

第三步:启动swap交换分区

[root@ken1 ~]# swapon /dev/sdb2

[root@ken1 ~]# free -h

              total        used        free      shared  buff/cache   available

Mem:           974M         88M        749M        7.6M        135M        730M

Swap:          4.0G          0B        4.0G

 

 

第四步:swap交换分区开机自启

vim /etc/fstab

/dev/sdb2 swap                    swap    defaults        0 0

 

第五步:停止swap

使用swapoff可以停止swap

[root@ken ~]# free -h

              total        used        free      shared  buff/cache   available

Mem:           974M         93M        751M        7.6M        129M        731M

Swap:          7.0G          0B        7.0G

[root@ken ~]# swapoff

 

Usage:

 swapoff [options] [<spec>]

 

Options:

 -a, --all              disable all swaps from /proc/swaps

 -v, --verbose          verbose mode

 

 -h, --help     display this help and exit

 -V, --version  output version information and exit

 

The <spec> parameter:

 -L <label>             LABEL of device to be used

 -U <uuid>              UUID of device to be used

 LABEL=<label>          LABEL of device to be used

 UUID=<uuid>            UUID of device to be used

 <device>               name of device to be used

 <file>                 name of file to be used

 

For more details see swapoff(8).

[root@ken ~]# swapoff -a

[root@ken ~]# free -h

              total        used        free      shared  buff/cache   available

Mem:           974M         88M        758M        7.6M        127M        737M

Swap:            0B          0B          0B

 

 

三、LVM逻辑卷

逻辑卷管理器是Linux系统用于对硬盘分区进行管理的一种机制,理论性较强,其创建初衷是为了解决硬盘设备在创建分区后不易修改分区大小的缺陷。尽管对传统的硬盘分区进行强制扩容或缩容从理论上来讲是可行的,但是却可能造成数据的丢失。而LVM技术是在硬盘分区和文件系统之间添加了一个逻辑层,它提供了一个抽象的卷组,可以把多块硬盘进行卷组合并。这样一来,用户不必关心物理硬盘设备的底层架构和布局,就可以实现对硬盘分区的动态调整。

物理存储介质(The physical media):VM存储介质可以是磁盘分区,整个磁盘,RAID阵列或SAN磁盘,设备必须初始化为LVM物理卷,才能与LVM结合使用

物理卷PV(physical volume):物理卷就是LVM的基本存储逻辑块,但和基本的物理存储介质(如分区、磁盘等)比较,却包含有与LVM相关的管理参数,创建物理卷它可以用硬盘分区,也可以用硬盘本身;

卷组VG(Volume Group):一个LVM卷组由一个或多个物理卷组成??

逻辑卷LV(logical volume):LV建立在VG之上,可以在LV之上建立文件系统

PE(physical extents):PV物理卷中可以分配的最小存储单元,PE的大小是可以指定的,默认为4MB

LE(logical extent):LV逻辑卷中可以分配的最小存储单元,在同一个卷组中,LE的大小和PE是相同的,并且一一对应

常用的LVM部署命令:

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

扫描        pvscan        vgscan     lvscan

建立        pvcreate       vgcreate    lvcreate

显示        pvdisplay      vgdisplay   lvdisplay

删除        pvremove      vgremove   lvremove

扩展                      vgextend    lvextend

缩小                      vgreduce    lvreduce

例子1:创建逻辑卷

第一步:创建物理卷

[root@ken1 ~]# pvcreate /dev/sd{b,c,d}

  Physical volume "/dev/sdb" successfully created.

  Physical volume "/dev/sdc" successfully created.

  Physical volume "/dev/sdd" successfully created

 

 

第二步:创建卷组

[root@ken1 ~]# vgcreate ken /dev/sd{b,c,d}

  Volume group "ken" successfully created

 

 

第三步:查看卷组信息

[root@ken1 ~]# vgdisplay ken

 

 

第四步:创建逻辑卷

[root@ken1 ~]# lvcreate -L 5G -n lv_ken ken  #-L指定创建磁盘的大小,-l指定PE数量,PE大小4M

 

第五步:查看逻辑卷详细

[root@ken1 ~]# lvdisplay /dev/ken/lv_ken

 

 

第六步:格式化

[root@ken1 ~]# mkfs.xfs /dev/ken/lv_ken

 

 

第七步:挂载

[root@ken1 ~]# mount /dev/ken/lv_ken /ken2

[root@ken1 ~]# df -h

Filesystem               Size  Used Avail Use% Mounted on

/dev/mapper/centos-root   17G  1.3G   16G   8% /

devtmpfs                 476M     0  476M   0% /dev

tmpfs                    488M     0  488M   0% /dev/shm

tmpfs                    488M  7.7M  480M   2% /run

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

/dev/sda1               1014M  142M  873M  14% /boot

/dev/sr0                 4.2G  4.2G     0 100% /mnt

tmpfs                     98M     0   98M   0% /run/user/0

/dev/mapper/ken-lv_ken   5.0G   33M  5.0G   1% /ken2

 

 

 

 

四、LVM扩容

ext4扩容不能在线扩容,必须卸载才能扩容,支持扩容和缩容

xfs支持在线动态扩容,不支持缩容

1、xfs格式扩容

例子:

第一步:扩容

[root@ken1 ~]# lvextend -L +5G /dev/ken/lv_ken

 

第二步:查看磁盘大小

[root@ken1 ~]# df -h

Filesystem               Size  Used Avail Use% Mounted on

/dev/mapper/centos-root   17G  1.3G   16G   8% /

devtmpfs                 476M     0  476M   0% /dev

tmpfs                    488M     0  488M   0% /dev/shm

tmpfs                    488M  7.7M  480M   2% /run

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

/dev/sda1               1014M  142M  873M  14% /boot

/dev/sr0                 4.2G  4.2G     0 100% /mnt

tmpfs                     98M     0   98M   0% /run/user/0

/dev/mapper/ken-lv_ken   5.0G   33M  5.0G   1% /ken2

/dev/mapper/ken-lv_ken1  5.0G   33M  5.0G   1% /ken3

 

第三步:执行xfs_growfs

[root@ken1 ~]# xfs_growfs /dev/ken/lv_ken

meta-data=/dev/mapper/ken-lv_ken isize=512    agcount=4, agsize=327680 blks

         =                       sectsz=512   attr=2, projid32bit=1

         =                       crc=1        finobt=0 spinodes=0

data     =                       bsize=4096   blocks=1310720, imaxpct=25

         =                       sunit=0      swidth=0 blks

naming   =version 2              bsize=4096   ascii-ci=0 ftype=1

log      =internal               bsize=4096   blocks=2560, version=2

         =                       sectsz=512   sunit=0 blks, lazy-count=1

realtime =none                   extsz=4096   blocks=0, rtextents=0

data blocks changed from 1310720 to 2621440

 

第四步:再次查看磁盘大小

[root@ken1 ~]# df -h

Filesystem               Size  Used Avail Use% Mounted on

/dev/mapper/centos-root   17G  1.3G   16G   8% /

devtmpfs                 476M     0  476M   0% /dev

tmpfs                    488M     0  488M   0% /dev/shm

tmpfs                    488M  7.7M  480M   2% /run

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

/dev/sda1               1014M  142M  873M  14% /boot

/dev/sr0                 4.2G  4.2G     0 100% /mnt

tmpfs                     98M     0   98M   0% /run/user/0

/dev/mapper/ken-lv_ken    10G   33M   10G   1% /ken2

/dev/mapper/ken-lv_ken1  5.0G   33M  5.0G   1% /ken3

 

2、ext4格式扩容

第一步:卸载

[root@ken ~]# umount /test1

 

第二步:把ken1逻辑卷扩展到300M

[root@ken ~]# umount /test1

[root@ken ~]# lvextend -L 300M /dev/ken/ken1

  Size of logical volume ken/ken1 changed from 100.00 MiB (25 extents) to 300.00 MiB (75 extents).

  Logical volume ken/ken1 successfully resized.

 

第三步:检查磁盘完整性

 

[root@ken ~]# e2fsck -f /dev/ken/ken1

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/ken/ken1: 11/25688 files (9.1% non-contiguous), 8896/102400 blocks

 

 

第四步:重置硬盘容量

[root@ken ~]# resize2fs /dev/ken/ken1

resize2fs 1.42.9 (28-Dec-2013)

Resizing the filesystem on /dev/ken/ken1 to 307200 (1k) blocks.

The filesystem on /dev/ken/ken1 is now 307200 blocks long.

 

第五步:重新挂载

可以发现现在已经是300M了

 

[root@ken ~]# mount /dev/ken/ken1 /test1

[root@ken ~]# df -h

Filesystem               Size  Used Avail Use% Mounted on

/dev/mapper/centos-root   17G  1.2G   16G   7% /

devtmpfs                 476M     0  476M   0% /dev

tmpfs                    488M     0  488M   0% /dev/shm

tmpfs                    488M  7.7M  480M   2% /run

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

/dev/sda1               1014M  130M  885M  13% /boot

tmpfs                     98M     0   98M   0% /run/user/0

/dev/mapper/ken-ken1     287M  2.0M  266M   1% /test1

 

3、缩小逻辑卷

相较于扩容逻辑卷,在对逻辑卷进行缩容操作时,其丢失数据的风险更大。所以在生产环境中执行相应操作时,一定要提前备份好数据。另外Linux系统规定,在对LVM逻辑卷进行缩容操作之前,要先检查文件系统的完整性(当然这也是为了保证我们的数据安全)。在执行缩容操作前记得先把文件系统卸载掉。

第一步:卸载

[root@ken ~]# umount /test1/

 

第二步:检查系统完整性

 

[root@ken ~]# e2fsck -f /dev/ken/ken1

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/ken/ken1: 11/75088 files (9.1% non-contiguous), 15637/307200 blocks

 

 

第三步:大小重置

[root@ken ~]# resize2fs /dev/ken/ken1 200M

resize2fs 1.42.9 (28-Dec-2013)

Resizing the filesystem on /dev/ken/ken1 to 204800 (1k) blocks.

The filesystem on /dev/ken/ken1 is now 204800 blocks long.

 

第四步:缩小到200M

 

[root@ken ~]# lvreduce -L 200M /dev/ken/ken1

  WARNING: Reducing active logical volume to 200.00 MiB.

  THIS MAY DESTROY YOUR DATA (filesystem etc.)

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

  Size of logical volume ken/ken1 changed from 300.00 MiB (75 extents) to 200.00 MiB (50 extents).

  Logical volume ken/ken1 successfully resized.

 

第五步:重新挂载使用

 

[root@ken ~]# mount /dev/ken/ken1 /test1/

[root@ken ~]# df -h

Filesystem               Size  Used Avail Use% Mounted on

/dev/mapper/centos-root   17G  1.2G   16G   7% /

devtmpfs                 476M     0  476M   0% /dev

tmpfs                    488M     0  488M   0% /dev/shm

tmpfs                    488M  7.7M  480M   2% /run

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

/dev/sda1               1014M  130M  885M  13% /boot

tmpfs                     98M     0   98M   0% /run/user/0

/dev/mapper/ken-ken1     190M  1.6M  175M   1% /test1

 

 

五、LVM逻辑卷删除

 

第一步:卸载光盘(取消挂载)

[root@ken1 ~]# umount /ken2

 

第二步:删除逻辑卷

[root@ken1 ~]# lvremove /dev/ken/lv_ken

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

  Logical volume "lv_ken" successfully removed

 

第三步:删除卷组

 

[root@ken1 ~]# vgremove ken

  Volume group "ken" successfully removed

 

第四步:删除物理卷

[root@ken1 ~]# pvremove /dev/sd{b,c,d}

  Labels on physical volume "/dev/sdb" successfully wiped.

  Labels on physical volume "/dev/sdc" successfully wiped.

  Labels on physical volume "/dev/sdc" successfully wiped.

  Labels on physical volume "/dev/sdd" successfully wiped.

 

作业:扩容根磁盘在原有基础上加10G

标签:ken,进阶,分区,dev,ken1,Linux,LVM,txt,root
来源: https://www.cnblogs.com/renyz/p/11197368.html