磁盘管理+磁盘的扩容减容
一、磁盘结构
1、硬盘的物理结构
盘片:硬盘有多个盘片,每个盘片2个面 磁头:每面一个磁头 |
2、硬盘的数据结构
扇区:盘片被多个扇区,每个扇区存放512字节的数据 磁道:统一盘片不同半径的同心圆 柱面:不同盘片相同半径构成的圆柱面 |
3、硬盘存储容量=磁头数 x 磁道(柱面)数 x 每道扇区数 x 每扇区字节数
4、可以用柱面/磁头/扇区来唯一定位磁盘上的每一个区域
二、磁盘的接口
IDE :并口(淘汰) SCSI :支持热插拔(服务器使用) SATA:(串口)速度快、纠错能力强 |
三、MBR
<1>定义:MBR主引导记录 <2>位置:位于硬盘第一个物理扇区处 <3>MBR中包含硬盘的主引导程序和硬盘分区表 |
四、磁盘分区的表示方式
1、Linux中将硬盘设备表示为文件:
硬盘中主分区数目只有4个,因此主分区和扩展分区的序号就限制在1-4,一般我们将前三个分区设置为主分区,最后一个分区设置为扩展分区,在扩展分区上继续分逻辑分区
实例:
/dev/hda5 :/dev下第一块IDE设备第一个逻辑分区 |
五、文件系统类型
EXT4:第 4 代扩展(Extended)文件系统 存放文件和目录数据的分区 典型的日志型文件系统 Centos6系统中默认使用的文件系统 SWAP:交换分区系统,类似Windows系统的虚拟缓存 XFS:XFS一种高性能的日志文件系统,XFS 特别擅长处理大文件,同时提供平滑的数据传输。CentOS7默认文件系统类型 |
六、检测并确认新硬盘
<1> fdisk -l [磁盘]:检测磁盘分区信息 (2T之内比较好)
Device:分区的设备文件名称 Boot:是否是引导分区。是,则有“*”标识 Stat/End:分区的起始/结束位置(柱面数) Blocks:块,默认大小为 1024 字节 Id:分区对应的系统 ID 号。83 表示 Linux 中的 EXT4 分区、8e 表示 LVM 逻辑卷、82 表 示 swap、fd 表示 RAID System:分区类型 |
实例:
fdisk 磁盘名:对磁盘进行分区的操作,打开一个交互平台
交互命令: m 帮助 n 新建分区d 删除分区p 显示分区 t 更改分区类型 分区类型编号(16进制) xfs 83 swap 82 ntfs 86 LVM 8e 查看分区类型:L w 保存并退出 q 不保存退出 |
创建一个主分区:
<2> 大小超过2T的分区规划parted命令
1、作用:规划大小超过2T的分区,也可以规划小分区
2、格式:parted [选项] [分区设备]
3、交互式状态下的常用命令
?/help/–help:帮助 quit/q:保存退出 print/p:打印 mklabel:改变硬盘的文件类型 mkpart:分区 rm:删除某分区,后面跟分区号,例如:rm 3 |
实例:
<3>检测分区的变化(使设置生效):partprobe
<4>格式化文件统:
①对系统分区进行分区格式化 mkfs -t xfs 分区名称;或 mkfs.xfs 分区名称 ②对交换分区进行格式化 mkswap /dev/sdb5 分区设备 启用停止交换分区 swapon或swapoff /dev/sdb5 启用或停止 |
七、挂载文件系统:mount
mount [-t xfs] 存储设备 挂载点目录 mount -o loop 镜像文件 挂载点目录 查看挂载情况:mount |
实例:
八、卸载文件系统
umount 设备文件 或 umount 挂载点目录 mount -a 将/etc/fstab中没有挂载的挂载上 |
九、设置永久挂载:/etc/fstab 配置文件
格式:
设备文件名 挂载点目录 文件类型 挂载选项 备份 检测 /dev/sdb2 /ycq xfs defaults 0 0 挂载选项: rw 可读取和写入 noexec 不可执行程序 remount 重新挂载 备份:1表示使用dump备份,0不备份 检测:0不检测 |
十、查看已挂载设备使用情况 : df -hT
案例一:LVS在线扩容与减容
环境说明:
准备4块硬盘,作为LVS的逻辑卷,进行扩容与减容
作用:
动态调整磁盘的容量,提高磁盘的灵活性
创建物理卷
创建卷组
创建逻辑卷:直接指定为35G
为xuexi增加10G,让其扩容至45G
创建文件系统,并挂载使用
刷新逻辑分区:
resize2fs /dev/卷组名/逻辑卷名 (ext4文件系统) CentOS 6默认 xfs_growfs /dev/卷组名/逻辑卷名 (xfs文件系统) CentOS 7默认 |
现在要进行对逻辑卷进行减容,减少5G,将剩余的空间留给root
<1>进行磁盘文件的备份,保证数据的安全性(需要单独添加一块硬盘)
<2> 查看磁盘的大小
<3>卸载/mnt(提前做好数据备份)
[root@localhost ~]# umount /mnt #源为home umount /mnt 如果提示无法卸载,则是有进程占用/home,使用如下命令来终止占用进程: [root@localhost ~]#fuser -m /mnt (默认无此命令,需要单独安装) |
<4>调整分区的大小 (需要先将挂载点取消)
[root@localhost ~]# resize2fs -p /dev/mapper/VolGroup-lv_home 20G 如果提示运行“e2fsck -f /dev/mapper/VolGroup-lv_home”,则执行相关命令: [root@localhost ~]# e2fsck -f /dev/mapper/VolGroup-lv_home 然后重新执行命令: [root@localhost ~]# resize2fs -p /dev/mapper/VolGroup-lv_home 20G 注:resize2fs 为重新设定磁盘大小,只是重新指定一下大小,并不对结果有影响,需要下面lvreduce的配合(以上两条命令实验环境只支持ext4格式) |
<5> 再次挂载上,查看使用情况
<6> 设置空闲空间
使用lvreduce指令用于减少LVM逻辑卷占用的空间大小。可能会删除逻辑卷上已有的数据,所以在操作前必须进行确认。记得输入 “y” lvreduce -L -10G /dev/vg1/xuexi
报错提示:
解决方式:
将设备格式化成其他文件类型,再次格式化成原有的文件系统类型
注:lvreduce -L 20G的意思为设置当前文件系统为20G,如果lvreduce -l 20G是指从当前文件系统上减少20G 使用lvreduce减小逻辑卷的大小。注意:减小后的大小不能小于文件的大小,否则会丢失数据。 可以使用vgdisplay命令等查看一下可以操作的大小。也可以是用fdisk -l命令查看详细信息。 |
<7> 查看卷组的剩余空间,将剩余空间分给/分区(注意根必须为lvm)
[root@localhost ~]# lvextend -L +283G /dev/mapper/VolGroup-lv_root 注:lvextend -L +283G为在文件系统上增加283G [root@localhost ~]# resize2fs -p /dev/mapper/VolGroup-lv_root |
<8> 检测调整结果
[root@localhost ~]# df -h |