前提摘要:
ubuntu20,当主分区sda1剩余可用空间较少时,需进行硬盘分区扩容
A.服务器没有卷组,需要创建卷组,挂载磁盘
1.
df -hl //查看磁盘可用空间大小
2.
fdisk -l //查看磁盘分区情况
由上图可知:
/dev/sda:200GiB 已分区的磁盘
/dev/sdb: 15GiB 未分区的磁盘
3.对未分区的磁盘 /dev/sdb 进行分区
root@ubuntu:~# fdisk /dev/sdb Welcome to fdisk (util-linux 2.34). 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 0x0668a3c4. Command (m for help): p //输入p指令,查看已分区数量(有0个 ) Disk /dev/sdb: 15 GiB, 16106127360 bytes, 31457280 sectors Disk model: VMware Virtual S 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: dos Disk identifier: 0x0668a3c4 Command (m for help): n //输入 n {new partition}指令,新增加一个分区 Partition type p primary (0 primary, 0 extended, 4 free) e extended (container for logical partitions) Select (default p): p //输入p {primary partition},分区类型选择为主分区 Partition number (1-4, default 1): //输入分区号 1 {partition number} ,分区号选1 First sector (2048-31457279, default 2048): //回车,默认(起始扇区) Last sector, +/-sectors or +/-size{K,M,G,T,P} (2048-31457279, default 31457279): //回车,默认(结束扇区) Created a new partition 1 of type 'Linux' and of size 15 GiB. Command (m for help): w //输入w指令,将以上改动写入分区表 The partition table has been altered. Calling ioctl() to re-read partition table. Syncing disks.
保存后,重启服务器,再次进入fdisk查看分区情况,可发现增加了一个 /dev/sdb1
格式化分区:mkfs.ext4 /dev/sdb1 //下面的操作会再执行一遍,此处可省略。
常用命令 | 说明 |
m | 获取帮助 |
n | 添加新分区 |
d | 删除分区 |
p | 打印分区表 |
t | 更改分区类型 |
w | 将分区表写入磁盘并保存 |
4.创建卷组 <服务器系统不存在卷组vg>
关系:一个或多个物理卷(PV)组成卷组(VG),逻辑卷(LV)建立在卷组上。
vgscan //扫描虚拟卷组 vgdisplay //显示虚拟卷组
vgcreate -s 8MB vgnew /dev/sdb1 //创建并把/dev/sdb1物理卷加入卷组vgnew,且指定PE<物理块>的大小为8MB vgcreate [-s PE 大小] 卷组名 物理卷名 //[-s PE 大小] 选项的含义是指定 PE 的大小,单位可以是 MB、GB、TB 等。如果不写,则默认 PE 大小是 4MB。 //这里的卷组名指的就是要创建的卷组的名称,而物理卷名则指的是希望添加到此卷组的所有硬盘区分或者整个硬盘。 vgchange -a y 卷组名 //激活卷组 vgchange -a n 卷组名 //停用卷组 vgremove 卷组名 //移除卷组
lvcreate -L 14G -n lvname vgname //新建逻辑卷,并把卷组的14G分配给逻辑卷 lvdisplay //显示逻辑卷信息 lvremove 逻辑卷位置 //移除逻辑卷
mkfs.ext4 /dev/vgnew/lvnew //格式化逻辑分区
5.挂载分区 (可以挂载到已有的目录下,也可以新建一个目录挂载)
mkdir /data //新建目录data ls //列出目录下内容 df -hl //查看可用磁盘空间
6.永久挂载
普通mount ,重启机器后,就会失效,如果想永久挂载,还需要修改配置文件
vim /etc/fstab //修改配置文件
# # /etc/fstab # Created by anaconda on Mon Jul 1 01:07:33 2019 # # 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=f66e8bc7-ef82-473e-b565-df8ef7cfcda7 / xfs defaults 0 0 UUID=c6e2743d-3e47-40a6-a74f-e429e1b3efc4 /boot xfs defaults 0 0 UUID=681ef8e7-767e-47d4-84c4-7d705ac9dea4 swap swap defaults 0 0 #/dev/vgnew/lvnew /data xfs auto 0 0 #逻辑分区 挂载点 文件格式(与前面格式化文件格式保持一致) defaults(默认是读写) 0 0 /dev/mapper/vgnew /date ext3 defaults 0 0
umount /dev/centos/root #卸载挂载点 mount -a #读取配置文件挂载 reboot #重启,查看挂载点,是否失效 df -T -h # 查看挂载的分区信息 parted -l #查看所有的分区信息 blkid mkfs -t ext3 /dev/sda4 mke2fs 1.39 (29-May-2006) /dev/sda4 isapparently in use by the system; will not make a filesystem here! 提示/dev/sda4 正在被使用。 /dev/sda4 正在被DM管理,所以我们创建文件系统时提示报错,我们手工的移除,就可以正常的创建文件系统。 操作如下: dmsetup status dmsetup remove_all fuser -km /data # 强制终止 data进程
到此结束。
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
B.服务器有卷组
1.
df -hl //查看磁盘可用空间
2.
fdisk -l //查看磁盘分区情况 发现存在 /dev/xvda 已分区 /dev/xvdb 未分区
使用fdisk /dev/xvdb 对磁盘分区 n(新建分区) p(建立分区) 1(分区编号为1) enter(开始扇区默认) enter(结束扇区默认) w(保存分区到磁盘) 随后再使用fdisk -l 查看磁盘分区情况
3.创建物理卷 <服务器系统存在卷组vg>
关系:一个或多个物理卷(PV)组成卷组(VG),逻辑卷(LV)建立在卷组上。
//由上图df -hl 可知,系统已存在卷组ubuntu-vg ,逻辑卷ubuntu-root pvcreate /dev/xvdb1 //创建物理卷 vgextend ubuntu-vg /dev/xvdb1 //将新建的物理卷xvdb1加⼊到卷组ubuntu-vg lvextend -L +49G /dev/ubuntu-vg/ubuntu-root //扩展已有逻辑卷的容量 resize2fs /dev/mapper/ubuntu--vg-ubuntu--root //⽂件系统扩容
随后再使用df -hl查看磁盘空间,可以看到磁盘大小已从8G变成57G
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
专业名词:
*物理存储介质(PhysicalStorageMedia) //指系统的物理存储设备:磁盘,如:/dev/hda、/dev/sda等,是存储系统最底层的存储单元。 *物理卷(Physical Volume,PV) //指磁盘分区或从逻辑上与磁盘分区具有同样功能的设备(如RAID),是LVM的基本存储逻辑块, //--但和基本的物理存储介质(如分区、磁盘等)比较,却包含有与LVM相关的管理参数。 *卷组(Volume Group,VG) //类似于非LVM系统中的物理磁盘,其由一个或多个物理卷PV组成。可以在卷组上创建一个或多个LV(逻辑卷)。 *逻辑卷(Logical Volume,LV) //类似于非LVM系统中的磁盘分区,逻辑卷建立在卷组VG之上。在逻辑卷LV之上可以建立文件系统(比如/home或者/usr等)。 *物理块(Physical Extent,PE) //每一个物理卷PV被划分为称为PE(Physical Extents)的基本单元,具有唯一编号的PE是可以被LVM寻址的最小单元。 //--PE的大小是可配置的,默认为4MB。所以物理卷(PV)由大小等同的基本单元PE组成。 *逻辑块(Logical Extent,LE)
其他:
ubuntu 非lvm 模式 扩充根目录<不推荐!!!>
业务需求 因为服务器没有预装lvm ,不能直接扩容 ,且之前所有文件在同一块硬盘上,但业务需要需要扩容 , 有多块硬盘可以使用
fdisk -l ##显示所有物理存储介质 假装有图:sdb为原有硬盘,sdc为其他硬盘 分别输入fdisk /dev/sdb ,fdisk /dev/sdc d(删除原来盘符) n(新建分区) p(建立分区) 1(分区编号为1) enter(开始扇区默认) enter(结束扇区默认) y t(修改磁盘模式) 8e(Linux LVM) w(保存) pvcreate /dev/sdb1 pvcreate /dev/sdc1 vgcreate vgnew /dev/sdb1 //创建 卷组 lvcreate -L 500G -n lvnew vgnew //创建逻辑卷,并将物理卷中的空间分配500G给逻辑卷 vgextend vgnew /dev/sdc1 //使用扩张卷组 lvextend -L+500G /dev/mapper/lvnew //扩充逻辑卷 resize2fs /dev/mapper/lvnew mkfd.ext4 /dev/mapper/lvnew //格式化 mkdir /home2 mount /dev/mapper/lvnew/home2 cp -rf /home/* /home2 blkid //根据输出的 uuid来设置 /etc/fstab的值 vi /etc/fstab #如下图 reboot