扩容根目录(逻辑卷)
根目录扩容实践::::::
由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/sdb
Command (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 2048
Last sector, +sectors or +size{K,M,G} (2048-419430399, default 419430399): #这里直接默认回车将全部都分配给当前创建的主分区
Using default value 419430399
Partition 1 of type Linux and of size 200 GiB is set
Command (m for help): p #查看创建的分区信息
Disk /dev/sdb: 214.7 GB, 214748364800 bytes, 419430400 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: 0x39f12e91
Device Boot Start End Blocks Id System
/dev/sdb1 2048 419430399 209714176 83 Linux
Command (m for help): w #保存并退出
parted命令使用方法
使用gpt分区表分区
GNU Parted 3.1
Using /dev/sdc
Welcome to GNU Parted! Type 'help' to view a list of commands.
Error: /dev/sdc: unrecognised disk label
Model: VMware, VMware Virtual S (scsi)
Disk /dev/sdc: 215GB
Sector size (logical/physical): 512B/512B
Partition Table: unknown
Disk Flags:
(parted) mklabel gpt #创建gpt分区表
Partition name? []? fq1 #输入分区名字
File system type? [ext2]? xfs #输入分区的文件系统类型
Warning: The resulting partition is not properly aligned for best performance.
Ignore/Cancel? cancel # 注意,此处提示为磁盘为对齐,会影响性能,所以在此处要进行对齐
使用MBR分区表
Warning: The existing disk label on /dev/mmcblk0 will be destroyed and all data
on this disk will be lost. Do you want to continue?
Partition type? primary/extended? primary //这里选择分区类型:主分区、扩展分区
File system type? [ext2]? ext4 //这里配置文件系统类型
(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
查看磁盘分区UUID
blkid
/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 -hT
Filesystem Type Size Used Avail Use% Mounted on
devtmpfs devtmpfs 475M 0 475M 0% /dev
tmpfs tmpfs 487M 0 487M 0% /dev/shm
tmpfs tmpfs 487M 7.7M 479M 2% /run
tmpfs 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% /home
tmpfs 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、知乎、开源中国、思否、掘金、简书、华为云、阿里云、腾讯云、哔哩哔哩、今日头条、新浪微博、个人博客
全网可搜《小陈运维》
文章主要发布于微信公众号