文章目录
分区及磁盘指令
1.识别硬盘 lsblk
2.分区规划 fdisk MBR分区模式
3.刷新分区表 partprobe
4.格式化文件系统 mkfs.ext4 mkfs.xfs
5.挂载 mount
6.mount -a 自动挂载
7.df -h #显示正在挂载的设备信息
8.blkid /dev/sdb1 #查看文件系统类型
分区方案(分区模式): MBR与GPT
MBR/msdos 分区方案 fdisk进行分区
–分区类型:主分区、扩展分区(占用所有剩余空间)、逻辑分区
–最多只能有4个主分区
–扩展分区可以没有,至多有一个
–1~4个主分区,或者 3个主分区+1个扩展分区(n个=逻辑分区)
如:所有第一个逻辑分区应该是sda5
–最大支持容量为 2.2TB 的磁盘
–扩展分区不能格式化,空间不能直接存储数据
–可以用于存储数据的分区:主分区与逻辑分区
fdisk常用交互指令:
m 列出指令帮助
p 查看现有的分区表(存放分区信息的表格)
n 新建分区
d 删除分区
q 放弃更改并退出
w 保存更改并退出
GPT 分区方案 parted进行分区
GPT,GUID Partition Table
–全局唯一标识分区表
–突破固定大小64字节的分区表限制
–最多可支持128个主分区,最大支持18EB容量
1 EB = 1024 PB = 1024 x 1024 TB
parted常用分区指令
–help //查看指令帮助
–mktable gpt //建立指定模式分区表
–mkpart 分区的名称 文件系统类型 start end
//指定大小或百分比%作为起始、结束位置
–print //查看分区表
–rm 序号 //删除指定的分区
–quit //退出交互环境
•parted进行分区
[root@localhost ~]# parted /dev/sdc
(parted) mktable gpt #指定分区模式
(parted) mkpart #划分新的分区
分区名称? []? test1 #随意写
文件系统类型? [ext2]? ext4 #随意写,不会进行格式化
起始点? 0
结束点? 2G
忽略/Ignore/放弃/Cancel? Ignore #选择忽略,输入i(tab)补全
(parted) print #查看分区表信息
Number Start End Size File system Name 标志
1 17.4kB 2000MB 2000MB test1
(parted) unit GB #使用GB作为单位
(parted) print
Number Start End Size File system Name 标志
1 0.00GB 2.00GB 2.00GB test1
(parted) mkpart #划分新的分区
分区名称? []? test2
文件系统类型? [ext2]? ext4
起始点? 2G #为上一个分区的结束
结束点? 5G
(parted) print
(parted) quit
[root@localhost ~]# lsblk
mount挂载
命令行显示光盘内容
让目录成为设备的访问点
光盘–>光驱设备—>访问点(目录)
mount 设备路径 挂载点目录
mkdir /dvd
ls /dvd
mount /dev/cdrom /dvd
卸载操作
umount /dvd
挂载前要分好区的格式
开机挂载
开机自动挂载/etc/fstab
–设备路径 挂载点 文件系统类型 参数 备份标记 检测顺序
vim /etc/fstab
/dev/sdb1 /mypart1 ext4 defaults 0 0
/dev/sdb2 /mypart2 xfs defaults 0 0
mount -a
检测/etc/fstab开机自动挂载配置文件,格式是否正确
检测/etc/fstab中,书写完成,但当前没有挂载的设备,进行挂载
[root@localhost ~]# df -h | grep sdb
SWAP 交换空间(虚拟内存)
利用硬盘的空间,充当内存的空间
CPU----->内存----->硬盘
当物理内存占满了,CPU可以将内存的中数据,暂时放入交换空间中,缓解真实物理内存的压力
交换空间最大不会超过16G
利用硬盘分区制作交换空间
方式一:利用硬盘分区制作交换空间
]# ls /dev/sdc1
]# mkswap /dev/sdc1 #格式化交换文件系统
]# blkid /dev/sdc1 #查看文件系统类型
]# swapon #查看交换空间组成的成员信息
]# swapon /dev/sdc1 #启用交换分区
]# swapon #查看交换空间组成的成员信息
]# free -m #查看交换空间的大小
]# swapoff /dev/sdc1 #停用交换分区
]# swapon #查看交换空间组成的成员信息
]# free -m #查看交换空间的大小
#开机自动启用交换分区
[root@localhost ~]# vim /etc/fstab
/dev/sdc1 swap swap defaults 0 0
[root@localhost ~]# swapoff /dev/sdc1 #停用
[root@localhost ~]# swapon #查看交换空间组成的成员信息
[root@localhost ~]# swapon -a #专门检测交换分区的书写
[root@localhost ~]# swapon #查看交换空间组成的成员信息
[root@localhost ~]# reboot #重启检测
生成文件制作交换空间
生成一个较大的2G文件
– dd if=源设备 of=目标设备 bs=块大小 count=块数
/dev/zero:永远都在产生数据
]# dd if=/dev/zero of=/opt/swap.txt bs=1M count=2048
]# du -sh /opt/swap.txt
#du 会显示指定的目录或文件所占用的磁盘空间。
#-s或--summarize 仅显示总计。
#-h或--human-readable 以K,M,G为单位,提高信息的可读性。
mkswap /opt/swap.txt #格式化交换文件系统
swapon /opt/swap.txt #启用
swapon: /opt/swap.txt:不安全的权限 0644,建议使用 0600。
swapon #查看交换空间组成的成员
LVM逻辑卷
作用1:整合分散的空间(参与成员可以是分区,也可以是硬盘)
作用2:逻辑卷空间可以扩大
逻辑卷:虚拟磁盘技术
制作过程:将众多的物理卷(PV),组建成卷组(VG),再从卷组中划分逻辑卷(LV)

功能 | 物理卷管理 | 卷组管理 | 逻辑卷管理 |
---|---|---|---|
Scan 扫描 | pvscan | vgscan | lvscan |
Create 创建 | pvcreate | vgcreate | lvcreate |
Display 显示 | pvdisplay | vgdisplay | lvdisplay |
Remove 删除 | pvremove | vgremove | lvremove |
Extend 扩展 | / | vgextend | lvextend |
卷组
卷组的创建
命令格式:vgcreate 卷组名 设备路径
创建单词:Successfully(成功)
# vgcreate systemvg /dev/sdb1 /dev/sdb2
# vgs #查看当前系统中所有卷组信息
# pvs #查看系统中物理卷信息
卷组没有足够的剩余空间
**1.**扩展卷组空间
[root@localhost ~]# vgextend systemvg /dev/sdb3
[root@localhost ~]# vgs
**2.**扩展逻辑卷空间
]# lvextend -L 25G /dev/systemvg/vo #扩展逻辑卷的空间
]# vgs #查看卷组信息
]# lvs #查看逻辑卷信息
**3.**扩展逻辑卷文件系统(刷新文件系统)
]# df -h | tail -1
]# xfs_growfs /dev/systemvg/vo
]# df -h | tail -1
]# lvs
修改卷组单位PE的大小
1.逻辑卷也支持缩减
2.卷组:划分空间的单位 PE
PE默认大小:4M
vgchange只能在4M的范围内 如果更大需要vgcreate
]# vgdisplay systemvg #显示卷组详细信息
PE Size 4.00 MiB
修改卷组划分空间的单位 PE大小
[root@localhost ~]# vgchange -s 1M systemvg
Volume group "systemvg" successfully changed
[root@localhost ~]# vgdisplay systemvg
#用标准PE大小创建
[root@localhost ~]# lvcreate -L 250M -n lvredhat systemvg
Logical volume "lvredhat" created.
[root@localhost ~]# lvs
逻辑卷
逻辑卷的建立
命令格式:lvcreate -L 大小 -n 逻辑卷名字 卷组名
[root@localhost ~]# lvcreate -L 16G -n vo systemvg
Logical volume "vo" created.
[root@localhost ~]# vgs #查看卷组信息
[root@localhost ~]# lvs #查看逻辑卷信息
[root@localhost ~]# lsblk
逻辑卷的使用
[root@localhost ~]# ls /dev/systemvg/vo
[root@localhost ~]# ls -l /dev/systemvg/vo
[root@localhost ~]# mkfs.xfs /dev/systemvg/vo
[root@localhost ~]# blkid /dev/systemvg/vo
[root@localhost ~]# mkdir /mylv
[root@localhost ~]# vim /etc/fstab
/dev/systemvg/vo /mylv xfs defaults 0 0
[root@localhost ~]# mount -a
[root@localhost ~]# df -h
逻辑卷的扩展 扩展完需要刷新
**1.**扩展逻辑卷空间
]# vgs
]# lvextend -L 18G /dev/systemvg/vo #扩展逻辑卷的空间
]# vgs #查看卷组信息
]# lvs #查看逻辑卷信息
2.扩展逻辑卷文件系统(刷新文件系统)
xfs_growfs:刷新xfs文件系统
resize2fs:刷新ext4文件系统
]# df -h | tail -1
]# xfs_growfs /dev/systemvg/vo
]# df -h | tail -1
]# lvs
逻辑卷的删除
删除卷组时,前提是所有基于此卷组的逻辑卷,全部要删除
]# lvremove /dev/systemvg/vo #需要事先卸载
Logical volume systemvg/vo contains a filesystem in use.
]# umount /mylv/
]# lvremove /dev/systemvg/vo
Do you really want to remove active logical volume systemvg/vo? [y/n]: y
Logical volume "vo" successfully removed
]# vim /etc/fstab #删除开机自动挂载信息
RAID
通过硬件的RAID卡实现RAID阵列
• 廉价冗余磁盘阵列
– Redundant Arrays of Inexpensive Disks
– 通过硬件/软件技术,将多个较小/低速的磁盘整合成一个大磁盘
– 阵列的价值:提升I/O效率、硬件级别的数据冗余
– 不同RAID级别的功能、特性各不相同
对比项 | RAID 0 | RAID 1 | RAID 10 | RAID 5 | RAID 6 |
---|---|---|---|---|---|
磁盘数 | ≧ 2 | ≧ 2 | ≧ 4 | ≧ 3 | ≧ 4 |
存储利用率 | 100% | ≦ 50% | ≦ 50% | n-1/n | n-2/n |
校验盘 | 无 | 无 | 无 | 1 | 2 |
容错性 | 无 | 有 | 有 | 有 | 有 |
IO性能 | 高 | 低 | 中 | 较高 | 较高 |
• RAID 0,条带模式
– 同一个文档分散存放在不同磁盘
– 并行写入以提高效率
– 至少需要两块磁盘组成
• RAID 1,镜像模式
– 一个文档复制成多份,分别写入不同磁盘
– 多份拷贝提高可靠性,效率无提升
– 至少需要两块磁盘组成
• RAID5,高性价比模式
– 相当于RAID0和RAID1的折中方案
– 需要至少一块磁盘的容量来存放校验数据
– 至少需要三块磁盘组成
• RAID6,高性价比/可靠模式
– 相当于扩展的RAID5阵列,提供2份独立校验方案
– 需要至少两块磁盘的容量来存放校验数据
– 至少需要四块磁盘组成
• RAID 0+1/RAID 1+0
– 整合RAID 0、RAID 1的优势
– 并行存取提高效率、镜像写入提高可靠性
– 至少需要四块磁盘组成
VDO
Virtual Data Optimizer(虚拟数据优化器)
–一个内核模块,目的是通过重删减少磁盘的空间占用,以及减少复制带宽
–VDO是基于块设备层之上6月 的,也就是在原设备基础上映射出mapper虚拟设备,然后直接使用即可
•重复数据删除
–输入的数据会判断是不是冗余数据
–判断为重复数据的部分不会被写入,然后对源数据进行更新,直接指向原始已经存储的数据块即可
•压缩
–对每个单独的数据块进行处理
安装
]# yum -y install vdo kmod-kvdo #所需软件包
制作VDO卷
•vdo基本操作:参考man vdo 全文查找/example
–vdo create --name=VDO卷名称 --device=设备路径 --vdoLogicalSize=逻辑大小
–vdo list
–vdo status -n VDO卷名称
–vdo remove -n VDO卷名称
–vdostatus [--human-readable] [/dev/mapper/VDO卷名称]
•VDO卷的格式化加速(跳过去重分析):
–mkfs.xfs –K /dev/mapper/VDO卷名称
–mkfs.ext4 -E nodiscard /dev/mapper/VDO卷名称
前提制作VDO需要2G以上的内存
[root@nb ~]# vdo create --name=vdo0 --device=/dev/sdc --vdoLogicalSize=200G
[root@nb ~]# mkfs.xfs -K /dev/mapper/vdo0
[root@nb ~]# mkdir /nsd01
[root@nb ~]# mount /dev/mapper/vdo0 /nsd01
[root@nb ~]# df -h
[root@nb ~]# vdostats --hum /dev/mapper/vdo0 #查看vdo设备详细信息
挂载vdo
[root@svr7 ~]# vim /etc/fstab
/dev/mapper/vdo0 /nsd01 xfs defaults,_netdev 0 0
磁盘镜像文件的快速产生(COW写时复制)
复制磁盘镜像文件实在是太慢了!
磁盘镜像文件的格式 RAM和QCOW2
一般默认QCOW2 读写效率较低,但是支持内部快照,加密,压缩,占用空间小
COW (Copy On Write)
直接映射原始盘(后端盘)的数据内容(理解为快捷方式)
原始盘内容不变,并且不能修改原始盘的内容,否则所有前端盘无法使用
对前端盘的修改不回写的原始盘
前端盘至少和后端盘一样大, 前端盘>=后端盘
-b选项复用指定后端盘
qemu-img create -f qcow2 -b 后端盘.qcow2 前端盘.qcow2
qemu-img info 前端盘.qcow2 #查看盘的信息
image: 前端盘.qcow2
file format: qcow2
virtual size: 10G (10737418240 bytes)
disk size: 196K
cluster_size: 65536
backing file: 后端盘.qcow2
Format specific information:
compat: 1.1
lazy refcounts: false
编辑原有的前端盘xml文件 改成后端盘的