磁盘管理

基本知识

磁道 track 扇区 sector 一个扇区默认512Byte 磁头 head 柱面 cylinde 一个柱面 8Mb 传统MBR分区方案
1~4个主分区,或者 0~3个主分区+1个扩展分区(n个逻辑分区) 最大支持容量为 2.2TB 的磁盘 扩展分区不能格式化 识别硬盘=>分区规划=>格式化=>挂载使用

磁盘查看与分区

[root@ser ~]# lsblk

修改硬盘分区表 -fdisk 硬盘设备 常用交互指令: m 列出指令帮助 p 查看现有的分区表 n 新建分区 d 删除分区 q 放弃更改并退出 w 保存更改并退出 [root@ser ~]# fdisk /dev/vdb n 创建新的分区----->回车----->回车---->回车----->在last结束时 +2G p 查看分区表 n 创建新的分区----->回车----->回车---->回车----->在last结束时 +2G d 删除分区 w 保存并退出 [root@ser ~]# ls /dev/vdb[1-2] /dev/vdb1 /dev/vdb2 [root@ser ~]# lsblk

格式化文件系统

mkfs 工具集 mkfs.ext3 分区设备路径 mkfs.ext4 /dev/vdb2 mkfs.xfs /dev/vdb1 mkfs.vfat 分区设备路径

[root@ser ~]# mkfs.xfs /dev/vdb1 [root@ser ~]# mkfs.ext4 /dev/vdb2

查看分区文件系统

blkid [root@ser ~]# blkid /dev/vdb1 [root@ser ~]# blkid /dev/vdb2

挂载使用

[root@ser ~]# mkdir /part1

[root@ser ~]# mount /dev/vdb1 /part1

查看正在挂载使用的设备信息

[root@server0 ~]# df -h 文件系统 容量 已用 可用 已用% 挂载点 /dev/vda1 10G 3.0G 7.1G 30% / devtmpfs 906M 0 906M 0% /dev tmpfs 921M 80K 921M 1% /dev/shm tmpfs 921M 17M 904M 2% /run tmpfs 921M 0 921M 0% /sys/fs/cgroup /dev/vdb1 2.0G 33M 2.0G 2% /part1 /dev/vdb2 2.0G 6.0M 1.8G 1% /part2

缓解根分区压力 [root@server0 ~]# find -size 查找较大的目录有哪些

[root@server0 ~]# 划分新的分区 /dev/vdc1

[root@server0 ~]# mount /dev/vdc1 /mnt [root@server0 ~]# cp -r /home/* /mnt [root@server0 ~]# rm -rf /home/*

[root@server0 ~]# umount /mnt [root@server0 ~]# mount /dev/vdc1 /home

开机自动挂载

修改配置文件 /etc/fstab 书写开机自动挂载设备的配置文件
配置/etc/fstab的记录格式
设备路径 挂载点 类型 参数 备份标记 检测顺序

[root@server0 ~]# tail -1 /etc/fstab /dev/vdb1 /part1 xfs defaults 0 0

验证: [root@server0 ~]# mount -a 检测/etc/fstab开机自动挂载配置文件,格式是否正确 检测/etc/fstab中,书写完成,但当前没有挂载的设备,进行挂载

[root@server0 ~]# df -h

[root@server0 ~]#partprobe #刷新分区表 [root@server0 ~]# ls /dev/vdb[1-5] [root@server0 ~]# lsblk

总结:

1.查看硬盘 lsblk 2.划分分区 fdisk 3.刷新分区表 partprobe 4.格式化文件系统 mkfs.xfs mkfs.ext4 5.挂载 mount 6.开机自动挂载 /etc/fstab

LVM逻辑卷

1 整合分散的空间 2 实现分区的动态扩大与缩减 在“分区 --> 格式化”中间增加的一个逻辑层 – 零散空闲存储 ---- 整合的虚拟磁盘 ---- 虚拟的分区----- 格式化------ 挂载

物理卷 Physical Volume #PV 卷组 Volume Group #VG 逻辑卷 Logical Volume #LV 将众多的物理卷 组成卷组 然后再从卷组重划分逻辑卷

添加全新的硬盘
[root@server0 ~]# lsblk

综合分区

将/dev/vdc划分6个分区,3个主分区,一个扩展分区,2个逻辑分区 [root@server0 ~]# fdisk /dev/vdc n 创建新的分区----->回车----->回车---->回车----->在last结束时 +10G n 创建新的分区----->回车----->回车---->回车----->在last结束时 +10G n 创建新的分区----->回车----->回车---->回车----->在last结束时 +10G p 查看分区表 n 创建新的分区 ----->回车---->起始回车----->结束回车 将所有空间给扩展分区 p 查看分区表 n 创建新的分区----->起始回车------>结束+10G n 创建新的分区----->起始回车------>结束+10G w 保存并退出 [root@server0 ~]# partprobe #刷新分区表 [root@server0 ~]# ls /dev/vdc[1-6] [root@server0 ~]# lsblk [root@server0 ~]# ls /dev/vdc*

新建卷组

 命令格式:vgcreate  卷组名称    分区路径

[root@server0 ~]# vgcreate myvg /dev/vdc1 /dev/vdc2 Physical volume "/dev/vdc1" successfully created Physical volume "/dev/vdc2" successfully created Volume group "myvg" successfully created

创建逻辑卷

命令格式:lvcreate -n 逻辑卷名称 -L 大小 基于卷组 [root@server0 ~]# lvcreate -n mylv -L 16G myvg [root@server0 ~]# lvs 3.使用LVM逻辑卷 [root@server0 ~]# mkfs.ext4 /dev/myvg/mylv [root@server0 ~]# mkdir /lvm [root@server0 ~]# tail -1 /etc/fstab /dev/myvg/mylv /lvm ext4 defaults 0 0

[root@server0 ~]# mount -a [root@server0 ~]# df -h

LVM逻辑卷的扩展

一 卷组有足够的剩余空间

**1直接扩展逻辑卷的空间 ** [root@server0 ~]# lvextend -L 19G /dev/myvg/mylv

2扩展文件系统的大小(不影响原有的文件系统) 扩展ext4文件系统 resize2fs 扩展xfs文件系统 xfs_growfs [root@server0 ~]# df -h | tail -1 [root@server0 ~]# blkid /dev/myvg/mylv [root@server0 ~]# resize2fs /dev/myvg/mylv [root@server0 ~]# df -h | tail -1

二 卷组没有足够的剩余空间

** 1扩展卷组空间 ** [root@server0 ~]# vgextend myvg /dev/vdc3 [root@server0 ~]# vgs **2直接扩展逻辑卷的空间 ** [root@server0 ~]# lvextend -L 19G /dev/myvg/mylv

3扩展文件系统的大小(不影响原有的文件系统) 扩展(刷新)ext4文件系统 resize2fs 扩展(刷新)xfs文件系统 xfs_growfs [root@ser ~]# df -h |tail -1 [root@ser ~]# resize2fs /dev/myvg/mylv [root@ser ~]# df -h |tail -1 ##########################################################

缩减操作 :

一般不要做,会造成扇区或者柱面分布不均匀 顺序不能颠倒 先缩减文件系统的大小 再缩减空间的大小 [root@ser ~]# resize2fs /dev/myvg/mylv 10G [root@ser ~]# umount /lvm [root@ser ~]# resize2fs /dev/myvg/mylv 10G resize2fs 1.42.9 (28-Dec-2013) 请先运行 'e2fsck -f /dev/myvg/mylv'.

[root@ser ~]# e2fsck -f /dev/myvg/mylv [root@ser ~]# resize2fs /dev/myvg/mylv 10G [root@ser ~]# lvreduce -L 10G /dev/myvg/mylv

[root@ser ~]# lvreduce -L 10G /dev/myvg/mylv WARNING: Reducing active logical volume to 10.00 GiB THIS MAY DESTROY YOUR DATA (filesystem etc.) Do you really want to reduce mylv? [y/n]: y

创建卷组的时候设置PE大小

vgcreate -s  PE大小     卷组名       空闲分区...
vgchange -s  PE大小     卷组名

PE:卷组划分空间的单位 默认4M

[root@ser ~]# vgdisplay myvg [root@ser ~]# vgchange -s 2M myvg [root@ser ~]# vgdisplay myvg

创建逻辑卷的时候指定PE个数 – lvcreate -l PE个数 -n 逻辑卷名 卷组名

[root@ser ~]# lvcreate -l 102 -n lvtest02 myvg Logical volume "lvtest02" created [root@ser ~]# lvs

交换分区 (虚拟内存)

  • 相当于虚拟内存
  • 当物理内存不够用时 使用磁盘空间来模拟内存
  • 在一定程度上缓解内存不足的问题

交换分区

[root@ser ~]# swapon -s #查看交换空间 组成成员信息 [root@ser ~]# mkswap /dev/vdc5 #格式化,交换文件系统 [root@ser ~]# swapon /dev/vdc5 #启用交换分区 [root@ser ~]# swapon -s

[root@ser ~]# mkswap /dev/vdc6 #格式化,交换文件系统 [root@ser ~]# swapon /dev/vdc6 #启用交换分区 [root@ser ~]# swapon -s

开机自动启用交换分区

[root@ser ~]# vim /etc/fstab [root@ser ~]# tail -2 /etc/fstab /dev/vdc5 swap swap defaults 0 0 /dev/vdc6 swap swap defaults 0 0

[root@ser ~]# swapoff /dev/vdc[5-6] #停用交换分区 [root@ser ~]# swapon -s [root@ser ~]# swapon -a #检测/etc/fstab 交换分区 [root@ser ~]# swapon -s

划分分区指令 parted

#专门做大空间划分 2T以上 GPT:全新的分区方案 突破了4个主分区的限制 可以有128个主分区(并且全是主分区) MBR 和GPT 不能共存
print #输出分区表 mktable gpt #设置分区模式为GPT mkpart #划分新的分区 分区名称? []? haha #分区名称随便起 文件系统类型? [ext2]? ext4 #文件系统不起作用 起始点? 0 #上一个分区的结束,是下一个分区的开始 结束点? 2G 忽略/Ignore/放弃/Cancel? Ignore #忽略,分区表信息会占用一部分空间 (parted) print #输出分区表 (parted) quit

[root@ser ~]# ls /dev/vdb1