linux 磁盘扩展
一.逻辑卷创建使用
https://www.cnblogs.com/xiaoluo501395377/archive/2013/05/24/3096087.html
fdisk -l
pvcreate /dev/vdb (如果失败,重启)
vgcreate vg_extend /dev/vdb
lvcreate -n lvext -L 198G vg_exten
mkfs.ext4 /dev/vg_extend/lvext
然后挂载就可以
UUID=bb0bdd62-ccc7-4d25-b2ea-113be87503a4 / ext4 defaults 0 0
二.创建分区(原始方式)
1.使用fdisk -l 查看硬盘的详细信息
分析:
2.分区初始化
fdisk /dev/sdb
分析:各个参数的解析
1. 输入 m 显示所有命令列示。
2. 输入 p 显示硬盘分割情形,打印分区表。
3. 输入 a 设定硬盘启动区。
4. 输入 n 设定新的硬盘分割区。
4.1. 输入 e 硬盘为[延伸]分割区(extend)。
4.2. 输入 p 硬盘为[主要]分割区(primary)。
5. 输入 t 改变硬盘分割区属性。
6. 输入 d 删除硬盘分割区属性。
7. 输入 q 结束不存入硬盘分割区属性。
8. 输入 w 结束并写入硬盘分割区属性
=>
Device Boot Start End Blocks Id System /dev/sda1 * 1 26 204800 83 Linux Partition 1 does not end on cylinder boundary. /dev/sda2 26 287 2097152 82 Linux swap / Solaris Partition 2 does not end on cylinder boundary. /dev/sda3 287 2611 18668544 83 Linux Disk /dev/sdb: 10.7 GB, 10737418240 bytes 255 heads, 63 sectors/track, 1305 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x02537cbf Device Boot Start End Blocks Id System /dev/sdb1 1 1305 10482381 83 Linux 分区创建成功
注意:1.
Partition number (1-4): 2 #如果这里已经创建了1个分区,那么这个值就不能输入1了。
1. 查看分区情况
lsblk
2.查看新分区是否成功
fdisk -l /dev/sdb
3.创建物理卷
pvcreate /dev/sdb1
4.查看组空间
pvdisplay
找到服务器原有的组名称 vg_opc
5.将创建的物理卷/dev/sdb1加到指定的组空间中 vg_opc
vgextend vg_opc /dev/sdb1
6.再次查看组空间
pvdisplay
新的分区应该属于历史的中已存的VG
7.查看卷组空间情况 vgdisplay
查看是否有新空间
8.扩展指定卷的空间
先df -h查出卷名
lvresize -L +2G /dev/mapper/centos-root
9.使扩展分区有效
resize2fs /dev/mapper/centos-root
如果不行:Couldn't find valid filesystem superblock
xfs_growfs /dev/mapper/centos-root 备注: /dev/pgname/vgname
centos 8 用: xfs_growfs / 备注: / 为挂载点
# mount |grep root
/dev/mapper/centos-root on / type xfs (rw,relatime,attr2,inode64,noquota)
xfs的文件系统重新定义大小用如下命令:
# xfs_growfs /dev/mapper/centos-root
meta-data=/dev/mapper/centos-root isize=256 agcount=4, agsize=3276800 blks
= sectsz=512 attr=2, projid32bit=1
= crc=0 finobt=0
data = bsize=4096 blocks=13107200, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=0
log =internal bsize=4096 blocks=6400, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
data blocks changed from 13107200 to 39336960
重新进行df -h查看挂载点,发现大小已经更改。
10.验证空间是否加上
df -h
11 找不到命令:
命令找不到:安装lvm工具: yum install lvm2
三 . lvm不可用时方法:分区的文件系统挂载
3.1 给分区指定文件系统:ext2和ext3
mke2fs /dev/sdb1 #默认是ext2,此命令是创建文件系统
mke2fs -j /dev/sdb1 #-j 是ext3
mke2fs -t ext4 /dev/sdb1 #ext4创建文件系统
This filesystem will be automatically checked every 31 mounts or 180 days, whichever comes first. Use tune2fs -c or -i to override.
解析:挂载37或180天后检测文件系统
e2label /dev/sdb1 www-data #指定转标
findfs www-data #查找转标
未找到分区解决: partprobe 命令
3.2. 挂载(centos 6.9 上失败)
5 成功

mkdir /data.bak cp -a /data/* /data.bak umount /data lsof /data pvs pvcreate /dev/vdc1 vgcreate cl-data /dev/vdc1 # 根据磁盘创立卷组 vgdisplay lvcreate -n data -L 190G cl-data # 根据卷组创建逻辑卷 # 如果不是,请先备份 mv /data /data.bak # 或者使用 tar -xzvf home.tar.gz /home # mke2fs -t ext4 /dev/cl-data/data --若果没有格式化,需要格式化 mkfs -t xfs /dev/cl-data/data 或 mke2fs -t ext4 /dev/cl-data/data mkdir data mount /dev/cl-data/data /data # 有备份则执行还原 # mv /data.bak/* /data cp -a /data.bak/* /data #带权限复制 # 设置开机加载 # 注意卷的格式,xfs还是ext4 echo "/dev/cl-data/data /data xfs defaults 0 0" >>/etc/fstab echo "/dev/cl-data/data /data ext4 defaults 0 0" >>/etc/fstab df -hlT 列出磁盘类型 ll -a /data 查看权限 du -h / --max-depth=1 查看大小
四 、多虚拟盘扩展记录
fdisk /dev/sdc mkdir /data mkdir /database-backup /dev/sdc1 /dev/sdc2 pvcreate /dev/sdc1 pvcreate /dev/sdc2 vgcreate hq-backup /dev/sdc1 vgcreate hq-db /dev/sdc2 vgdisplay lvcreate -n backup -L 103G hq-backup lvcreate -n db -L 93G hq-db lvs mke2fs -t ext4 /dev/hq-db/db mke2fs -t ext4 /dev/hq-backup/backup mount /dev/hq-db/db /data mount /dev/hq-backup/backup /database-backup echo "/dev/hq-db/db /data ext4 defaults 0 0" >>/etc/fstab echo "/dev/hq-backup/backup /database-backup ext4 defaults 0 0" >>/etc/fstab
五、问题
1、设备或资源忙.
WARNING: Re-reading the partition table failed with error 16: 设备或资源忙. 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) 正在同步磁盘。
执行: partprobe
六、交换区 swap 配置
#16GB内存的服务器:建议swap为22GB
#32GB内存的服务器:建议swap为30GB
#64GB内存的服务器:建议swap为48GB
mkdir /data/swap #使用dd创建swap文件 dd if=/dev/zero of=/data/swap/swap.file bs=1M count=23024 #交换文件格式化为swap分区 mkswap /data/swap/swap.file #设置权限 chmod 600 /data/swap/swap.file #启用swap分区 swapon /data/swap/swap.file #设置开机自动启用swap分区 echo "/data/swap/swap.file swap swap defaults 0 0" >>/etc/fstab #查看配置情况 free
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)