Linux服务器通过LVM扩展其磁盘空间

简介:

一,LVM简介:

LVM是 Logical Volume Manager(逻辑卷管理)的简写,它由Heinz Mauelshagen在Linux 2.4内核上实现。LVM将一个或多个硬盘的分区在逻辑上集合,相当于一个大硬盘来使用,当硬盘的空间不够使用的时候,可以继续将其它的硬盘的分区加入其中,这样可以实现磁盘空间的动态管理,相对于普通的磁盘分区有很大的灵活性。

wKioL1Y0hZeyMHt_AADRAnCfClg793.jpg

wKioL1jQ2nWzTs5-AAJU-5M_68c984.png

与传统的磁盘与分区相比,LVM为计算机提供了更高层次的磁盘存储。它使系统管理员可以更方便的为应用与用户分配存储空间。在LVM管理下的存储卷可以按需要随时改变大小与移除(可能需对文件系统工具进行升级)。LVM也允许按用户组对存储卷进行管理,允许管理员用更直观的名称(如"sales'、 'development')代替物理磁盘名(如'sda'、'sdb')来标识存储卷。列如:四个磁盘分区可以组成一个很大的空间,然后在这些空间上划分一些逻辑分区,当一个逻辑分区的空间不够用的时候,可以从剩余空间上划分一些空间给空间不够用的分区使用。

PVphyical volume:是物理的磁盘分区

VG(volume group):LVM中的物理的磁盘分区,也就是PV,必须加入VG,可以将VG理解为一个仓库或者是几个大的硬盘。

LV(logical extent):也就是从VG中划分的逻辑分区

二,创建和管理LVM

1,创建分区

使用分区工具fdisk创建lvm分区,方法和创建其他一般分区的方法一样,区别LVM的分区类型为8e,如下图查看当前分区

wKioL1Y0gxXTxm2jAAJ7Odlc4Rw389.jpg

使用fdisk创建分区,并进入分区进行管理

wKiom1Y0gwujc5euAAHk1lpscp4331.jpg

wKioL1Y0g2ag3WzjAAH0lhoWWIE679.jpg

最后要保存修改

wKioL1Y0g46wQTCEAACXQhw46IE247.jpg


注意:划分分区的类型为8e,这是LVM的分区格式。


2,创建PV,如下图所示: pvcreate /dev/sdb3

wKioL1Y0g9rD3xg1AACzp34nWqw568.jpg

查看刚才创建的命令:pvdisplay(pvs或pvscan)来查看简略信息。

wKioL1Y0hAnzN01IAAGFnVoPc-g627.jpg

1
2
3
4
5
6
[root@GJB-UAT ~] # pvs
   PV         VG         Fmt  Attr PSize   PFree   
   /dev/sdb3   VolGroup00 lvm2 a--  100.00g 1020.00m
[root@GJB-UAT ~] # pvscan
   PV  /dev/sdb3    VG VolGroup00   lvm2 [100.00 GiB / 1020.00 MiB  free ]
   Total: 1 [100.00 GiB] /  in  use: 1 [100.00 GiB] /  in  no VG: 0 [0   ]


3,创建和扩展VG(vgcreate VolGroup00 /dev/sdb1)如果有的话直接扩展,没有的话先创建在扩展

[root@localhost ~]#yum -y install parted

[root@localhost ~]# partprobe    (不重启使分区表有效)

wKiom1Y0hBGho_1DAAMclrbC0kY408.jpg

vgdisplay(vgs或vgscan)查看是否创建或扩展成功。

说明:

VG Name  VG的名称

VG Size  VG的总大小

PE Size  PE的大小,默认为4MB

Total PE  PE的总数量,5114 x 4MB = 19.98GB

Free PE / Size  剩余空间大小

同样可以使用命令vgs 和vgscan 查看

1
2
3
4
5
6
[root@GJB-UAT ~] # vgs
   VG          #PV #LV #SN Attr   VSize   VFree   
   VolGroup00   1   1   0 wz--n- 100.00g 1020.00m
[root@GJB-UAT ~] # vgscan
   Reading all physical volumes.  This may take a  while ...
   Found volume group  "VolGroup00"  using metadata  type  lvm2


4,创建LV(lvcreate  -L +100G -n lv1 VolGroup00)

1
2
[root@GJB-UAT ~] # lvcreate  -L +100G -n lv1 VolGroup00
   Logical volume  "lv1"  already exists  in  volume group  "VolGroup00"
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
[root@GJB-UAT ~] # lvdisplay
   --- Logical volume ---
   LV Path                 /dev/VolGroup00/lv1
   LV Name                lv1
   VG Name                VolGroup00
   LV UUID                XX9spD-gBIC-RwNY-V6Tf-xZUp-du0c-Aq4Vln
   LV Write Access         read /write
   LV Creation host,  time  GJB-UAT, 2017-03-21 15:15:13 +0800
   LV Status              available
   # open                 1
   LV Size                99.00 GiB
   Current LE             25344
   Segments               1
   Allocation             inherit
   Read ahead sectors     auto
   - currently  set  to     256
   Block device           253:0

注意:

-L    指定创建的LV 的大小 
-l    指定创建的LV 的PE 数量 
-n    LV的名字 

上面的意思是:从VolGroup00卷组中分出100G的空间给lv1使用

使用lvdisplay来进行查看LV的情况。如果减少的话,只需 lvcreate  -L -100G -n lv1 VolGroup00即可。


5格式化LV( mkfs -t ext3 /dev/VolGroup00/lv1)

1
2
3
4
5
6
7
8
9
10
11
12
13
[root@localhost ~] # mkfs -t ext3 /dev/VolGroup00/lv1
[root@localhost ~] #mkdir /test
[root@localhost ~] #mount /dev/VolGroup00/lv1  /test
mount /dev/mapper/VolGroup00-lv1  already mounted or  /test  busy
mount : according to mtab,  /dev/mapper/VolGroup00-lv1  is already mounted on  /test
[root@GJB-UAT ~] # df -h
文件系统              容量  已用  可用 已用%% 挂载点
/dev/sda2              9.7G  4.4G  4.8G  49% /
tmpfs                 7.8G     0  7.8G   0%  /dev/shm
/dev/sda1              194M   27M  158M  15%  /boot
/dev/sda5               12G  295M   11G   3%  /data
/dev/mapper/VolGroup00-lv1
                        98G   19G   74G  21%  /test

备注:

可以看到刚添加的100G容量。如果是原先都有的话,可以直接扩展就可以了如下:

[root@localhost ~]# resize2fs  /dev/VolGroup/lv_root  #执行该重设大小,对于当前正在使用的LogVol01有效

resize2fs 1.41.12 (17-May-2010)

Filesystem at /dev/VolGroup/lv_root is mounted on /; on-line resizing required

old desc_blocks = 1, new_desc_blocks = 1

Performing an on-line resize of /dev/VolGroup/lv_root to 3934208 (4k) blocks.

The filesystem on /dev/VolGroup/lv_root is now 3934208 blocks long.

wKioL1Y0hNqyPwlLAAEYmalDKHM285.jpg


 

6,把新分区写入到配置文件/etc/fstab.如果系统重启的话就可以自动加载了。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
[root@GJB-UAT ~] #vim  /etc/fstab 
# /etc/fstab
# Created by anaconda on Wed Jun 22 17:32:40 2016
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
UUID=9100c104-010a-418c-80e7-29e88fd746ce /                       ext4    defaults        1 1
UUID=d157a57e-325a-459d-ad27-a1ee880ed836  /boot                    ext4    defaults        1 2
UUID=19c71233-9130-4296-8551-72c05e14e613  /data                    ext4    defaults        1 2
UUID=a8c629c6-34bc-4c28-92e0-768bf0e0f235 swap                    swap    defaults        0 0
tmpfs                    /dev/shm                 tmpfs   defaults        0 0
devpts                   /dev/pts                 devpts  gid=5,mode=620  0 0
sysfs                    /sys                     sysfs   defaults        0 0
proc                     /proc                    proc    defaults        0 0
/dev/VolGroup00/lv1      /test                    ext3    defaults        1 2


wKioL1jQ5R6RthI9AACsYqo04Uc833.png






常用的命令:

1
2
3
4
[root@iZ23iod5vslZ ~] # blkid
/dev/xvda1 : UUID= "6634633e-001d-43ba-8fab-202f1df93339"  TYPE= "ext4" 
/dev/xvdb1 : UUID= "8c3bc2d1-429c-4c09-a501-6dffbf9250ee"  TYPE= "ext3" 
/dev/xvdc1 : UUID= "2ea5998b-8a44-458d-b1fa-630302dbf212"  TYPE= "ext4"



本文参考:http://www.cnblogs.com/gaojun/archive/2012/08/22/2650229.html


本文转自 lqbyz 51CTO博客,原文链接:http://blog.51cto.com/liqingbiao/1708371


相关文章
|
16天前
|
Java Linux
Springboot 解决linux服务器下获取不到项目Resources下资源
Springboot 解决linux服务器下获取不到项目Resources下资源
|
20天前
|
Linux
linux下搭建tftp服务器教程
在Linux中搭建TFTP服务器,需安装`tftp-server`(如`tftpd-hpa`)。步骤包括:更新软件包列表,安装`tftpd-hpa`,启动并设置开机自启,配置服务器(编辑`/etc/default/tftpd-hpa`),添加选项,然后重启服务。完成后,可用`tftp`命令进行文件传输。例如,从IP`192.168.1.100`下载`file.txt`: ``` tftp 192.168.1.100 <<EOF binary put file.txt quit EOF ```
29 4
|
1月前
|
Linux Shell 网络安全
【Shell 命令集合 网络通讯 】Linux 与SMB服务器进行交互 smbclient命令 使用指南
【Shell 命令集合 网络通讯 】Linux 与SMB服务器进行交互 smbclient命令 使用指南
50 1
|
5天前
|
机器学习/深度学习 缓存 监控
linux查看CPU、内存、网络、磁盘IO命令
`Linux`系统中,使用`top`命令查看CPU状态,要查看CPU详细信息,可利用`cat /proc/cpuinfo`相关命令。`free`命令用于查看内存使用情况。网络相关命令包括`ifconfig`(查看网卡状态)、`ifdown/ifup`(禁用/启用网卡)、`netstat`(列出网络连接,如`-tuln`组合)以及`nslookup`、`ping`、`telnet`、`traceroute`等。磁盘IO方面,`iostat`(如`-k -p ALL`)显示磁盘IO统计,`iotop`(如`-o -d 1`)则用于查看磁盘IO瓶颈。
|
16天前
|
Linux
Linux操作系统调优相关工具(三)查看IO运行状态相关工具 查看哪个磁盘或分区最繁忙?
Linux操作系统调优相关工具(三)查看IO运行状态相关工具 查看哪个磁盘或分区最繁忙?
21 0
|
15小时前
|
Linux
如何将一个linux服务器挂载到另外一个linux服务器上
如何将一个linux服务器挂载到另外一个linux服务器上
12 1
|
2天前
|
监控 Linux 网络安全
Linux服务器如何查询连接服务器的IP
【4月更文挑战第15天】Linux服务器如何查询连接服务器的IP
9 1
|
2天前
|
监控 安全 Linux
Linux系统之安装ServerBee服务器监控工具
【4月更文挑战第22天】Linux系统之安装ServerBee服务器监控工具
40 2
|
6天前
|
网络协议 安全 Linux
IDEA通过内网穿透实现固定公网地址远程SSH连接本地Linux服务器
IDEA通过内网穿透实现固定公网地址远程SSH连接本地Linux服务器
|
12天前
|
Linux 数据安全/隐私保护
Linux基础与服务器架构综合小实践
【4月更文挑战第9天】Linux基础与服务器架构综合小实践
1241 8