扩容根目录(逻辑卷)

根目录扩容实践::::::

 由20G变为40G

 

1、Linux里面的分区工具

fdisk   主要是给磁盘小于2T(只能出来分区表是mbr的)

parted  主要是给磁盘大于2T(gpt)

2、磁盘分区注意事项要点

一块磁盘的分区方式只能为如下组合之一:

1)任意多主分区,但要求 1≤主分区数量≤4

2) 扩展分区可以和主分区组合,但要求 2≤(主分区+扩展分区)数量≤4

3) 如果要分成四个磁盘分区的话,那么最多就是可以:

P+P+P+P

P+P+P+E

其中的 P 为 Primary,E 为 Extended

说明

1) 扩展分区不是一个真正的可用分区,建立完扩展分区后,还需要在扩展分区上面建立逻辑分区才可以使用。

2) 对于主分区和逻辑分区在一般的数据存储使用上是没有区别的(对于大多数的数据存储),在安装操作系统时第一个分区要选主分区。

3) 分区数字编号 1~4 留给主分区或扩展分区使用,逻辑分区编号只能从 5 开始,即使 1~4 分区号有剩余,也不会分配给逻辑分区。

4) 对硬盘分区,实际上就是在修改硬盘分区表,也就是说我们通过 fdisk 分区实际上就是在修改64 字节分区表,分区和对应的数据没有关系。因此,理论上,调整分区大小,不会删除分区数据。

特殊说明:磁盘也可以不分区,字节格式化使用,但是不推荐。

3、硬盘分区的设备名

在 linux 系统中,是通过设备名来访问设备的,设备名存放在“ /dev”目录中

设备名的定义规则如下,其他的分区可以以此类推:

系统的第一块 IDE 接口的硬盘称为/dev/hda

系统的第二块 IDE 接口的硬盘称为/dev/hdb

系统的第一块 SCSI 接口的硬盘称为/dev/sda

系统的第二块 SCSI 接口的硬盘称为/dev/sdb

STAT,SAS 都是 sd 开头

每个分区则使用磁盘名称加对应的数字编号表示:

系统第一块 IDE 接口硬盘的第 1 个分区称为/dev/hda1

系统第一块 IDE 接口硬盘的第 5 个分区称为/dev/hda5

系统第一块 SCSI 接口硬盘的第 1 个分区称为/dev/sda1

系统第一块 SCSI 接口硬盘的第 5 个分区称为/dev/sda5

注意事项:

1) 分区数字编号 1~4 留给主分区或扩展分区使用,逻辑分区编号只能从 5 开始

2) IDE 硬盘设备名均以/dev/hd 开头,不同硬盘编号依次为/dev/hda、 /dev/hdb、 /dev/hdc...

3) SCSI/SAS/STAT/USB 接口硬盘的设备名均以/dev/sd 开头,不同硬盘编号依次为/dev/sda、/dev/sdb、 /dev/sdc ...

4) 特别强调:SAS/STAT 为当前互联网生产环境主流硬盘接口,SSD 固态硬盘,由于是电子设备,性能很高,也逐渐被运用

5) Linux 环境下没有盘符概念,要对磁盘设备进行操作,需要使用磁盘设备名;读取磁盘设备内容,需要把创建在分区或逻辑卷上的文件系统挂载到指定目录上

fdisk命令的使用方法

fdisk /dev/sdbCommand (m for help): n    #创建一个分区     Partition type:  #分区的类别   p   primary (0 primary, 0 extended, 4 free)    #主分区(还剩余4个)   e   extended  #扩展分区Select (default p): p  #默认为主分区First sector (2048-419430399, default 2048): #直接回车默认从第一个柱面开始划分,默认分区起始位置是从2048开始Using default value 2048Last sector, +sectors or +size{K,M,G} (2048-419430399, default 419430399): #这里直接默认回车将全部都分配给当前创建的主分区Using default value 419430399Partition 1 of type Linux and of size 200 GiB is setCommand (m for help): p  #查看创建的分区信息
Disk /dev/sdb: 214.7 GB, 214748364800 bytes, 419430400 sectorsUnits = sectors of 1 * 512 = 512 bytesSector size (logical/physical): 512 bytes / 512 bytesI/O size (minimum/optimal): 512 bytes / 512 bytesDisk label type: dosDisk identifier: 0x39f12e91
Device Boot Start End Blocks Id System/dev/sdb1 2048 419430399 209714176 83 LinuxCommand (m for help): w #保存并退出

parted命令使用方法

parted /dev/sdc  #选择要分区的磁盘
使用gpt分区表分区GNU Parted 3.1Using /dev/sdcWelcome to GNU Parted! Type 'help' to view a list of commands.(parted) print #查看磁盘信息 Error: /dev/sdc: unrecognised disk labelModel: VMware, VMware Virtual S (scsi) Disk /dev/sdc: 215GBSector size (logical/physical): 512B/512BPartition Table: unknownDisk Flags: (parted) mklabel gpt #创建gpt分区表(parted) mkpart #创建分区 Partition name? []? fq1 #输入分区名字File system type? [ext2]? xfs #输入分区的文件系统类型 Start? 0 #配置分区的起始位置 这里以MByte为单位 End? 100% #配置分区的结束位置 这里以MByte为单位(100%为所有) Warning: The resulting partition is not properly aligned for best performance.Ignore/Cancel? cancel            # 注意,此处提示为磁盘为对齐,会影响性能,所以在此处要进行对齐

使用MBR分区表(parted) mklabel msdos //创建MBR分区表 Warning: The existing disk label on /dev/mmcblk0 will be destroyed and all dataon this disk will be lost. Do you want to continue?Yes/No? yes (parted) mkpart //创建分区 Partition type? primary/extended? primary //这里选择分区类型:主分区、扩展分区 File system type? [ext2]? ext4 //这里配置文件系统类型 Start? 10 //配置分区的起始位置 这里以MByte为单位 End? 3818 //配置分区的结束位置 这里以MByte为单位 (parted)  q  #保存并退出

二、创建逻辑卷(便于后续扩容)

新建物理卷pvcreate /dev/sdb1 /dev/sdc1                            Physical volume "/dev/sdb1" successfully created.  Physical volume "/dev/sdc1" successfully created.查看物理卷pvs  PV         VG     Fmt  Attr PSize    PFree     /dev/sdb1  vgdata lvm2 a--  <200.00g <200.00g  /dev/sdc1  vgdata lvm2 a--  <200.00g <200.00g新建卷组vgcreate vgdata /dev/sdb1 /dev/sdc1  Volume group "vgdata" successfully created  #vgdata为卷组名字查看卷组vgs  VG     #PV #LV #SN Attr   VSize   VFree    vgdata   2   0   0 wz--n- 399.99g 399.99g新建逻辑卷lvcreate -L 399.99g -n lvdata vgdata  Rounding up size to full physical extent 399.99 GiB  Logical volume "lvdata" created.查看逻辑卷lvs查看磁盘分区UUIDblkid/dev/sdb1: UUID="6yGNOl-H4nK-CSYB-nSdq-q8Ae-X9iT-RkXoky" TYPE="LVM2_member" /dev/sdc1: UUID="7EEVd4-3wXI-srQy-bw3Z-4NXO-vAmd-FllzTe" TYPE="LVM2_member" PARTLABEL="fq1" PARTUUID="edc10a9b-490d-40a5-b589-0b95a875c56c" 

三、格式化

格式化为xfs文件系统mkfs.xfs /dev/vgdata/lvdata

四、挂载与卸载

手动挂载(重启机器后需要手动挂载)mount /dev/vgdata/lvdata /mnt/开机自动挂载vim /etc/fstab/dev/vgdata/lvdata      /mnt                    xfs     defaults        0 0卸载umount “设备文件名或挂载点”卸载时,如果该目录正在被使用,可能无法卸载。fuser -m -v -i -k /media/share # 会问你是不是要把 25023 这个 kill 掉, 选 y 就会 kill 掉。

 

df查看硬盘

df  参数 (功能描述:列出文件系统的整体磁盘使用量,检查文件系统的磁盘空间占用情况)参数: -a :列出所有的文件系统,包括系统特有的 /proc 等文件系统; -k :以 KBytes 的容量显示各文件系统; -m :以 MBytes 的容量显示各文件系统; -h :以人们较易阅读的 GBytes, MBytes, KBytes 等格式自行显示; -H :以 M=1000K 取代 M=1024K 的进位方式; -T :显示文件系统类型,连同该 partition 的 filesystem 名称 (例如 ext3) 也列出; -i :不用硬盘容量,而以 inode 的数量来显示常用:df -hTFilesystem                Type      Size  Used Avail Use% Mounted ondevtmpfs                  devtmpfs  475M     0  475M   0% /devtmpfs                     tmpfs     487M     0  487M   0% /dev/shmtmpfs                     tmpfs     487M  7.7M  479M   2% /runtmpfs                     tmpfs     487M     0  487M   0% /sys/fs/cgroup/dev/mapper/centos-root   xfs        50G  1.5G   49G   3% //dev/sda1                 xfs      1014M  138M  877M  14% /boot/dev/mapper/centos-home   xfs        47G   33M   47G   1% /hometmpfs                     tmpfs      98M     0   98M   0% /run/user/0/dev/mapper/vgdata-lvdata xfs       400G   33M  400G   1% /mnt

du查看目录空间使用量

du -sh ./* 查看目录占用空间的情况,便于找出占用空间多的文件参数: -s :汇总每个目录总的大小; -h :以人们较易阅读的 GBytes, MBytes, KBytes 等格式自行显示;

 

 

跨磁盘扩容根目录

跨磁盘扩容根目

图片

LVM 的基本概念

物理卷 Physical Volume (PV):可以在上面建立卷组的媒介,可以是硬盘分区,也可以是硬盘本身或者回环文件(loopback file)。物理卷包括一个特殊的 header,其余部分被切割为一块块物理区域(physical extents)

卷组 Volume group (VG):将一组物理卷收集为一个管理单元

逻辑卷 Logical volume (LV):虚拟分区,由物理区域(physical extents)组成

物理区域 Physical extent (PE):硬盘可供指派给逻辑卷的最小单位(通常为 4MB)

查看磁盘关系

# 查看磁盘关系

root@hello:~# lsblk 
NAME                      MAJ:MIN RM  SIZE RO TYPE MOUNTPOINTS
loop0                       7:0    0 55.6M  1 loop /snap/core18/2667
loop1                       7:1    0 55.6M  1 loop /snap/core18/2679
loop2                       7:2    0 63.2M  1 loop /snap/core20/1738
loop3                       7:3    0 63.3M  1 loop /snap/core20/1778
loop4                       7:4    0 91.8M  1 loop /snap/lxd/23991
loop5                       7:5    0 91.8M  1 loop /snap/lxd/24061
loop6                       7:6    0 49.6M  1 loop /snap/snapd/17883
loop7                       7:7    0 49.8M  1 loop /snap/snapd/17950
sda                         8:0    0  100G  0 disk 
├─sda1                      8:1    0    1M  0 part 
├─sda2                      8:2    0    1G  0 part /boot
└─sda3                      8:3    0   99G  0 part 
  └─ubuntu--vg-ubuntu--lv 253:0    0 98.5G  0 lvm  /
sdb                         8:16   0  100G  0 disk 
root@hello:~# 

新建分区

# 新建分区
root@hello:~# fdisk /dev/sdb

Welcome to fdisk (util-linux 2.37.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.
Created a new DOS disklabel with disk identifier 0xd97cd23b.

Command (m for help): g
Created a new GPT disklabel (GUID: CED3C27F-6F17-D940-A99F-191D881FCD91).

Command (m for help): n
Partition number (1-128, default 1): 
First sector (2048-209715166, default 2048): 
Last sector, +/-sectors or +/-size{K,M,G,T,P} (2048-209715166, default 209715166): 

Created a new partition 1 of type 'Linux filesystem' and of size 100 GiB.

Command (m for help): p
Disk /dev/sdb: 100 GiB, 107374182400 bytes, 209715200 sectors
Disk model: QEMU HARDDISK   
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: CED3C27F-6F17-D940-A99F-191D881FCD91

Device     Start       End   Sectors  Size Type
/dev/sdb1   2048 209715166 209713119  100G Linux filesystem

Command (m for help): w
The partition table has been altered.
Calling ioctl() to re-read partition table.
Syncing disks.

root@hello:~# 

查看磁盘关系

# 查看磁盘关系
root@hello:~# lsblk 
NAME                      MAJ:MIN RM  SIZE RO TYPE MOUNTPOINTS
loop0                       7:0    0 55.6M  1 loop /snap/core18/2667
loop1                       7:1    0 55.6M  1 loop /snap/core18/2679
loop2                       7:2    0 63.2M  1 loop /snap/core20/1738
loop3                       7:3    0 63.3M  1 loop /snap/core20/1778
loop4                       7:4    0 91.8M  1 loop /snap/lxd/23991
loop5                       7:5    0 91.8M  1 loop /snap/lxd/24061
loop6                       7:6    0 49.6M  1 loop /snap/snapd/17883
loop7                       7:7    0 49.8M  1 loop /snap/snapd/17950
sda                         8:0    0  100G  0 disk 
├─sda1                      8:1    0    1M  0 part 
├─sda2                      8:2    0    1G  0 part /boot
└─sda3                      8:3    0   99G  0 part 
  └─ubuntu--vg-ubuntu--lv 253:0    0 98.5G  0 lvm  /
sdb                         8:16   0  100G  0 disk 
└─sdb1                      8:17   0  100G  0 part 
root@hello:~# 

创建PV并查看

# 创建PV并查看
root@hello:~# pvdisplay
  --- Physical volume ---
  PV Name               /dev/sda3
  VG Name               ubuntu-vg
  PV Size               <99.00 GiB / not usable 0   
  Allocatable           yes 
  PE Size               4.00 MiB
  Total PE              25343
  Free PE               127
  Allocated PE          25216
  PV UUID               Dys0fV-H7vi-KfCz-5Flh-n724-mjP4-dtzzJ5

root@hello:~#
root@hello:~# pvcreate  /dev/sdb1 
  Physical volume "/dev/sdb1" successfully created.
root@hello:~# 
root@hello:~# 
root@hello:~# pvdisplay
  --- Physical volume ---
  PV Name               /dev/sda3
  VG Name               ubuntu-vg
  PV Size               <99.00 GiB / not usable 0   
  Allocatable           yes 
  PE Size               4.00 MiB
  Total PE              25343
  Free PE               127
  Allocated PE          25216
  PV UUID               Dys0fV-H7vi-KfCz-5Flh-n724-mjP4-dtzzJ5

  "/dev/sdb1" is a new physical volume of "<100.00 GiB"
  --- NEW Physical volume ---
  PV Name               /dev/sdb1
  VG Name               
  PV Size               <100.00 GiB
  Allocatable           NO
  PE Size               0   
  Total PE              0
  Free PE               0
  Allocated PE          0
  PV UUID               iR6wd1-QDJc-oqm7-dxF5-JzvB-e2Ta-LSciIm

root@hello:~# 

扩展VG并查看

# 扩展VG并查看
root@hello:~# vgdisplay
  --- Volume group ---
  VG Name               ubuntu-vg
  System ID             
  Format                lvm2
  Metadata Areas        1
  Metadata Sequence No  3
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                1
  Open LV               1
  Max PV                0
  Cur PV                1
  Act PV                1
  VG Size               <99.00 GiB
  PE Size               4.00 MiB
  Total PE              25343
  Alloc PE / Size       25216 / 98.50 GiB
  Free  PE / Size       127 / 508.00 MiB
  VG UUID               MJt4Ho-TZ8N-vBhS-TMnK-nSPa-2orh-MbV9jr

root@hello:~#
root@hello:~# vgextend ubuntu-vg /dev/sdb1
  Volume group "ubuntu-vg" successfully extended
root@hello:~# 
root@hello:~# vgdisplay
  --- Volume group ---
  VG Name               ubuntu-vg
  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               198.99 GiB
  PE Size               4.00 MiB
  Total PE              50942
  Alloc PE / Size       25216 / 98.50 GiB
  Free  PE / Size       25726 / 100.49 GiB
  VG UUID               MJt4Ho-TZ8N-vBhS-TMnK-nSPa-2orh-MbV9jr

root@hello:~# 

扩展LV并查看

# 扩展LV并查看
root@hello:~# lvdisplay
  --- Logical volume ---
  LV Path                /dev/ubuntu-vg/ubuntu-lv
  LV Name                ubuntu-lv
  VG Name                ubuntu-vg
  LV UUID                5DDQEu-kuMX-VU3G-Gck0-5Pjq-bMzO-cHnbIr
  LV Write Access        read/write
  LV Creation host, time ubuntu-server, 2021-09-23 11:50:37 +0800
  LV Status              available
  # open                 1
  LV Size                98.50 GiB
  Current LE             25216
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           253:0

root@hello:~# 
root@hello:~# lvextend /dev/ubuntu-vg/ubuntu-lv /dev/sdb1
  Size of logical volume ubuntu-vg/ubuntu-lv changed from 98.50 GiB (25216 extents) to <198.50 GiB (50815 extents).
  Logical volume ubuntu-vg/ubuntu-lv successfully resized.
root@hello:~# 
root@hello:~# lvdisplay
  --- Logical volume ---
  LV Path                /dev/ubuntu-vg/ubuntu-lv
  LV Name                ubuntu-lv
  VG Name                ubuntu-vg
  LV UUID                5DDQEu-kuMX-VU3G-Gck0-5Pjq-bMzO-cHnbIr
  LV Write Access        read/write
  LV Creation host, time ubuntu-server, 2021-09-23 11:50:37 +0800
  LV Status              available
  # open                 1
  LV Size                <198.50 GiB
  Current LE             50815
  Segments               2
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           253:0

root@hello:~# 

扩展根目录

# 扩展根目录
root@hello:~# resize2fs /dev/ubuntu-vg/ubuntu-lv
resize2fs 1.46.5 (30-Dec-2021)
Filesystem at /dev/ubuntu-vg/ubuntu-lv is mounted on /; on-line resizing required
old_desc_blocks = 13, new_desc_blocks = 25
The filesystem on /dev/ubuntu-vg/ubuntu-lv is now 52034560 (4k) blocks long.

查看空间和关系

# 查看空间和关系
root@hello:~#  df -hT 
Filesystem                        Type   Size  Used Avail Use% Mounted on
tmpfs                             tmpfs  393M  6.0M  387M   2% /run
/dev/mapper/ubuntu--vg-ubuntu--lv ext4   196G   31G  156G  17% /
tmpfs                             tmpfs  2.0G     0  2.0G   0% /dev/shm
tmpfs                             tmpfs  5.0M     0  5.0M   0% /run/lock
/dev/sda2                         ext4   974M  247M  660M  28% /boot
tmpfs                             tmpfs  393M  4.0K  393M   1% /run/user/0
root@hello:~# 
root@hello:~# 
root@hello:~# lsblk
NAME                      MAJ:MIN RM   SIZE RO TYPE MOUNTPOINTS
loop0                       7:0    0  55.6M  1 loop /snap/core18/2667
loop1                       7:1    0  55.6M  1 loop /snap/core18/2679
loop2                       7:2    0  63.2M  1 loop /snap/core20/1738
loop3                       7:3    0  63.3M  1 loop /snap/core20/1778
loop4                       7:4    0  91.8M  1 loop /snap/lxd/23991
loop5                       7:5    0  91.8M  1 loop /snap/lxd/24061
loop6                       7:6    0  49.6M  1 loop /snap/snapd/17883
loop7                       7:7    0  49.8M  1 loop /snap/snapd/17950
sda                         8:0    0   100G  0 disk 
├─sda1                      8:1    0     1M  0 part 
├─sda2                      8:2    0     1G  0 part /boot
└─sda3                      8:3    0    99G  0 part 
  └─ubuntu--vg-ubuntu--lv 253:0    0 198.5G  0 lvm  /
sdb                         8:16   0   100G  0 disk 
└─sdb1                      8:17   0   100G  0 part 
  └─ubuntu--vg-ubuntu--lv 253:0    0 198.5G  0 lvm  /
root@hello:~# 

关于

https://www.oiox.cn/

https://www.oiox.cn/index.php/start-page.html

CSDN、GitHub、51CTO、知乎、开源中国、思否、掘金、简书、华为云、阿里云、腾讯云、哔哩哔哩、今日头条、新浪微博、个人博客

全网可搜《小陈运维》

文章主要发布于微信公众号

 

陈步云
阅读原文
阅读 400
小陈运维
164篇原创内容
 
posted @ 2023-02-20 13:48  往事已成昨天  阅读(522)  评论(0编辑  收藏  举报