磁盘空间管理、交换空间、VDO
磁盘结构与概念 (也叫 块设备)
磁盘盘片(存数据)、主轴、读写磁头、传动手臂、传动轴、反力矩弹簧装置
7200转/min (真空)
盘片上有磁道(类似操场的跑道,是圆型的), 磁道上有扇区(磁盘的最小单位 一样大的 默认512字节)
一块硬盘的艺术之旅
识别硬盘=》分区规划=》格式化=》挂载使用 类似 毛坯楼层=》打隔断=》装修=》入住
识别硬盘
查看当前系统识别的硬盘有哪些 命令 lsblk ls block NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 20G 0 disk ├─sda1 8:1 0 1G 0 part /boot └─sda2 8:2 0 19G 0 part ├─centos-root 253:0 0 17G 0 lvm / └─centos-swap 253:1 0 2G 0 lvm [SWAP] sr0 11:0 1 8.8G 0 rom /run/media/root/CentOS 7 x86_64
sda1 SCSI接口的磁盘第一块的第一个分区 disk 磁盘 part 分区 mountpoint 挂载点 lvm 逻辑卷 sr0 光驱 ls /run/media/root/CentOS\ 7\ x86_64
添加一块硬盘
关闭虚拟机,右键设置,添加磁盘即可
分区模式 (有两种 MBR GPT)
MBR/msdos (主启动记录的模式)
分区类型:
主分区(最多4个)、 扩展分区(最多1个)、 逻辑分区(不限制) 1~4个主分区,或者0~3个主分区+1个扩展分区(n个逻辑分区) 最大容量支持 2.2TB的磁盘 扩展分区不能格式化 一旦划分了4个主分区,不能有其他分区了; 可以分123个主分区,剩余区间分成扩展分区,扩展分区中可以分不限制个数逻辑分区 主流方案:3个主分区,1个扩展分区;扩展分区中分几个逻辑分区
使用fdisk分区工具
查看分区表 fdisk -l /dev/sda
修改硬盘的分区表
fdisk 硬盘设备
常用的交互指令 m 列出指令帮助 p 查看现有分区表 n 新建分区 d 删除分区 q 放弃更改并退出 w 保存更改并退出
fdisk /dev/sdb
1、 创建两个主分区
n 创建分区 选择分区类型 回车 默认p 主分区 分区号 回车 默认分配编号 起始扇区 回车默认 第2048个扇区开始 终止扇区(last) 输入 +2G (单位 KMG) 重复上面的操作,终止扇区输入+3G w 保存并退出
2、 刷新分区表
partprobe lsblk 查看扩展分区大小永远是1K,它只用作供逻辑分区瓜分
识别新分区表
ls /dev/sdb[1-2] ls /dev/sdb{1,2}
格式化分区
格式化 赋予空间文件系统的过程 文件系统 数据在空间中存放的规则 windows平台的文件系统:NTFS(功能强大) FAT(兼容性强) linux的文件系统:ext4 (RHEL6,文件小 数量多) xfs(RHEL7,文件大 数量少) FAT df -h 显示正在挂载的设备
常用的格式化工具
mkfs.
mkfs.btrfs mkfs.ext2 mkfs.ext4 mkfs.minix mkfs.vfat mkfs.cramfs mkfs.ext3 mkfs.fat mkfs.msdos mkfs.xfs
查看分区的文件系统及其唯一ID
[root@control ~]# blkid /dev/sda1 /dev/sda1: UUID="fa84501d-7f7e-4280-bb61-b92a2219815b" TYPE="xfs" PARTUUID="64c3758d-01"
创建文件系统
mkfs.ext4 /dev/sda1
访问已格式化的分区
临时挂载
mount /dev/sda1 /mb1 umount /mb1 (移除挂载点 数据并不会删除)
实现开机自动挂载 (写错了开不了机)
配置文件记录格式
/etc/fstab 设备路径(或者UUID) 挂载点 类型 参数 备份标记(0不备份 1备份) 检测程序(0不检测 1检测) /dev/sdb1 /mb1 ext4 defaults 0 0 ----------------- 测试写的对不对 mount -a 检测 /etc/fstab 如果有当前系统未挂载的设备,自动挂载
GPT分区模式
GPT,GUID Partition Table
全局唯一标识分区表 突破固定大小64字节的分区表限制 最多可支持128个主分区,最大支持18EB磁盘 1EB = 1024PB = 1024 x 1024 TB
MBR分区模式--磁盘标签类型:dos,专用分区工具fdisk
parted 专门用于建立GPT分区
连续按两次tab 显示可用命令
-help 查看分区指令 -print 输出分区信息
-mktable msdos|gpt
敲了两边 一定要no
-mkpart primary 文件系统类型 start end 指定大小或者百分比作为起始,结束位置
-unit GB 显示单位
-rm //删除指定分区
-quit //退出交互环境
总结磁盘分区
1、识别硬盘
lsblk
2、分区规划
fdisk 专用于划分MBR分区模式
3、刷新分区表
partprobe
4、格式化分区
mkfs.ext4 mkfs.xfs blkid
5、挂载使用
手动挂载mount命令(临时挂载) 开机自动挂载 /etc/fstab 格式:需要挂载的设备 挂载点 文件系统 参数 是否备份 是否检测 /dev/sdb1 /mb1 ext4 defaults 0 0
检测 /etc/fstab 文件的命令 mount -a 查看挂载列表 df -h
交换空间
新硬盘 80G
分区MBR分区模式,划分2个2G的主分区,1个10G的主分区,4个10G的逻辑分区
sdb 8:16 0 80G 0 disk ├─sdb1 8:17 0 2G 0 part ├─sdb2 8:18 0 2G 0 part ├─sdb3 8:19 0 10G 0 part ├─sdb4 8:20 0 1K 0 part ├─sdb5 8:21 0 10G 0 part ├─sdb6 8:22 0 10G 0 part ├─sdb7 8:23 0 10G 0 part └─sdb8 8:24 0 10G 0 part
作用
又名:虚拟内存 缓解物理内存不足 当物理内存不够用时,会将一部分占用物理内存的数据,暂时放入交换空间中,缓解内存的压力; 利用硬盘的空间来充当交换空间
windows 的虚拟内存:
右键 我的电脑 属性 更改设置 高级 高级 更改
查看交换空间
m 单位 g k
free -m 查看内存使用情况以及交换空间大小 [root@zhuhost001 ~]# free -m total used free shared buff/cache available Mem: 983 709 72 4 201 81 Swap:2047 24 2023
swapon -s 查看当前交换空间成员信息 不加-s 效果也很好
[root@zhuhost001 ~]# swapon -s 文件名 类型 大小 已用 权限 /dev/dm-1 partition 2097148 25096 -1 -1:多个交换空间优先使用哪个,值为负数,越大越优先 -1 是负数里最大的 优先级最高
创建Swap分区
/dev/sdb1 /dev/sdb2
格式化交换分区
mkswap /dev/sdb1 mkswap /dev/sdb2
扩展交换空间
启用 swapon /dev/sdb1 swapon /dev/sdb2 停用 swapoff /dev/sdb1 ---- free -m swapon
开机自动启用
/etc/fstab /dev/sdb1 swap swap defaults 0 0
验证配置文件是否书写正确
swapon -a 测试交换分区是否书写正确 mount -a 不识别交换分区
创建Swap文件
dd if=源设备 of=目标设备 bs=块大小 count=块数
专门为dd命令而生的源源不断产生数据:/dev/zero dd if=/dev/zero of=/opt/abc.txt bs=1M count=2048
格式化交换文件
mkswap -f /opt/abc.txt
扩展交换空间
swapon /opt/abc.txt swapoff /opt/abc.txt
开机自启动
/etc/fstab /opt/abc.txt swap swap defaults 0 0
验证配置文件是否书写正确
swapon -a 测试交换文件是否书写正确 mount -a 不识别交换空间
VDO (了解内容)
虚拟数据优化器
yum -y install vdo kmod-kvdo
重复数据删除功能
点赞
评论