磁盘管理
-
名词:DISK 磁盘、硬盘
-
磁盘作用:存储数据
-
种类:机械硬盘、固态硬盘
-
命名:SATA(串口)1、/dev/sda 2、/dev/sdb
-
分区方式1,MBR:主引导记录(Master Boot Record),支持 最大磁盘容量2TB,设计是分配4个分区,如果希望超过4个分区,需要放弃主分区,改为扩展分区和逻辑分区
-
分区方式2,GPT:全局统一分区表,支持大于2TB容量
-
查看磁盘情况:ls -l /dev/sd* 或者 lsblk
添加新磁盘
分区
- 查看磁盘情况,已经使用的磁盘切忌随意重新分区:lsblk
- 假设添加上了一个新的磁盘 sdb : fdisk /dev/sdb
fdisk /dev/sdb
>1、 提示输入m湖区帮助,直接输入n下一步:n
>2、选择主分区p还是扩展分区e,默认p:p
>3、选择分区编号(1~4)默认1:1
>4、起始扇区(2048~磁盘大小)默认2048:2048
>5、最后扇区,(2048~磁盘大小)默认磁盘大小:
>6、最终写入,会话结束:w
# 分区准备
partprobe /dev/adb
#查看磁盘分区情况
fdisk -l /dev/sdb
创建文件系统
- 分区完成后需要创建文件系统
- 命令:mkfs.ext4 /dev/sdb1; make file system extend4
- 新建的串口硬盘的第一个分区,准备格式化。
挂载mount
makdir /mnt/disk1
mount -t ext4 /dev/sdb1 /mnt/disk1
# d=disk f=free -h = 人性化选择单位 T=Type 类型
df -hT
#取消挂载
umount /dev/sdb1
剩余未分区空间
- lsblk
将剩余磁盘分区挂载
#分区
fdisk /dev/sdb
> n
> p
> 2
> 回车
> +200M
> w
#刷新分区
partprobe /dev/sdb
mkfs.ext4 /dev/sdb2
# 或者 mkfs -t ext4 /dev/sdb2
mkdir /mnt/disk2
mount -t ext4 /dev/sdb2 /mnt/disk2
- 超过4个主分区,只能新建扩展分区
- 把其中一个主分区设置未扩展分区:扩展分区再次划分更多的逻辑分区
- 扩展分区一定占用4号分区
#分区
fdisk /dev/sdb
> d
> 4
##删除第四个分区
> n
> e
> +200M
> n
> +200m
> w
partiprobe /dev/sdb
# 挂在 第四号分区不能挂载,它是扩展分区,只能挂在这个分区下的逻辑分区
交换分区管理swap(windows称为虚拟内存)
- 介绍
- swap是硬盘的一个特殊分区,让读取快一点,一般存储热点数据
- 作用,‘提升’内存的容量,防止oom
- swap大小推荐设置未内存的2倍:4G~ 16G内存,最小需要4GB交换空间;16G~ 64G,最小需要8G;64G~ 256G,最小需要16G
- 当内存不够的时候,才申请swap空间,只要空间足够,就不需要swap空间
free -m
#能够查看交换分区
fdisk /dev/sdc
> p
> n
> p
> 1
> +1G
> p
> w
partiprobe /dev/sdc
mkswap /dev/sdc1
swapon /dev/sdc1
free -m
逻辑卷LVM
磁盘写满
- 当磁盘写满后,新的内容是不能写入
- 物理磁盘的空间是限定的
- 一个路径挂载了一个物理磁盘,就不能在这个路径下挂载其他新的物理磁盘 ,路径与硬盘挂载1:1关系
LVM介绍:
- 目的:管理磁盘的一种方式,性质与基本磁盘无异
- 特点:随意扩张大小
- 术语:PV=物理卷(physical volume);VG=卷组(volume group);LV=逻辑卷(logical volume)
新建逻辑卷LVM
- 添加新的物理硬盘
- 变成物理卷
- 加入卷组
- 在卷组中,抽调空间,制作逻辑卷
- 格式化
- 挂载
#新磁盘sdf未格式化,创建物理卷
pvcreate /dev/sdf
#创建卷组名: vg1
vgcreate vg1 /dev/sdf
# 创建逻辑卷 -L 大小 -n 名称 vg1卷组名
lvcreate -L 200M -n lv2 vg1
#格式化逻辑卷 /dev/卷组名/逻辑卷名
mkfs -t ext4 /dev/vg1/lv1
#创建目录
mkdir /mnt/lv1
#挂载
mount /dev/vg1/lv1 /mnt/lv1
管理逻辑卷LVM
- 卷组扩容
# 新建物理卷
pvcreate /dev/sdg
#查询物理卷pvs
# 卷组扩容
vgextend vg1 /dev/sdg
#查询卷组vgs
- 逻辑卷扩容
#逻辑卷扩容
lvextend -L +5G /dev/vg1/lv1
#文件系统扩容
resize2fs /dev/vg1/lv1
文件系统
EXT3/EXT4文件系统介绍
- 类型:索引(index)文件系统
#查看文件inode数量
ls -li
df -i
- 系统限制
文件系统限制分为两个,一个是inode数量,一个是磁盘大小限制
如果inode被占用完了,但是内存还剩下很多,是依旧不能够创建文件的,但是已经创建的文件是可以追加内容的。
链接
- 简单链接:ln -s file1 file2
其中-s表示简单链接:删除了源文件,链接文件内容消失,恢复源文件,内容回来 - 物理连接:ln file1 file2
注意其中需要统一分区,使用较少
磁盘阵列
- RAID:链家磁盘冗余阵列(Redundant Array of Independent Disks),相互备份热备等。
- 作用:容错、提升读写速率
- 类型:RAID0(两块同时使用,无容错:常用操作系统) RAID1(两块磁盘,镜像一份作为备份) RAID5(三块以上,2快以上的数据盘,1快以上的校验盘,可以设置热备份盘:当一块硬盘崩溃,常用做服务器)
RAID5实操
- 准备4快硬盘RAID5:3块数据盘,1块校验盘
- 创建RAID
- 格式化,挂载
- 查看RAID信息
- 模拟一块硬盘损坏,并移除
- 设置RAID开机生效
# 服务器插入新的四块硬盘,或者虚拟机添加上新的硬盘
lsblk
# 创建RAID
mdadm -C /dev/md0 -l5 -n3 -x1 /dev/sd{b,c,d,e}
# -C=创建 /dev/md0=第一个RAID设备 -l5(L5)=RAID5 -x1=热备份数量 可用新磁盘
mkfs -t ext4 /dev/md0
mkdir /mnt/raid5
mount /dev/md0 /mnt/raid5/
#查看RAID信息 -D 查看详细信息
mdadm -D /dev/md0
##模拟一个盘故障 -f强制false -r移除
mdadm /dev/md0 -f /dev/sdb -r /dev/sdb
# 自动恢复数据