第七天:磁盘存储、分区和文件系统
一、磁盘结构
1、设备放在/dev文件下面
硬盘:sda nvme
虚拟:xvd vd
mknod :创建设备
2、硬盘类型
接口类型:IDE SCSI SATA SAS USB M.2
机械硬盘和固态硬盘
3、open(),read(),write(),close()
文件操作
二、分区类型
设备分区、创建文件系统、挂载新的文件系统
1、MBR
使用32位表示扇区数,分区 不超过2T以上
一块硬盘最多有4个主分区
备份MBR分区表 :dd if=/dev/sda/mbr of= /data/dpt.img bs=1 count=64 skkip=446
![](https://img2024.cnblogs.com/blog/808098/202401/808098-20240114222627484-1550166997.png)
2、GPT
支付128个分区,容量:8Z
3、BIOS 和UEFI
BIOS:基本输入输出系统,早期的主板程序
UEFI:统一可扩展接口
三、管理分区
1、列出块设备:lsblk
2、创 命令
fdisk 管理MBR分区1,CENTOS8支持GPT
gdisk 管理GPT 分区
parted 高级分区操作,可以是交互或非交互方式
3、 fdisk
a toggle a bootable flag
b edit bsd disklabel
c toggle the dos compatibility flag
d delete a partition
g create a new empty GPT partition table
G create an IRIX (SGI) partition table
l list known partition types
m print this menu
n add a new partition
o create a new empty DOS partition table
p print the partition table
q quit without saving changes
s create a new empty Sun disklabel
t change a partition's system id
u change display/entry units
v verify the partition table
w write table to disk and exit
x extra functionality (experts only)
4、gdisk
b back up GPT data to a file
c change a partition's name
d delete a partition
i show detailed information on a partition
l list known partition types
n add a new partition
o create a new empty GUID partition table (GPT)
p print the partition table
q quit without saving changes
r recovery and transformation options (experts only)
s sort partitions
t change a partition's type code
v verify disk
w write table to disk and exit
x extra functionality (experts only)
? print this menu
5、如已建分区,再分一个分区 ,需要同步下,才能真正使用新分区:partprobe
四、管理文件系统:mkfs
1、linux 常用的文件系统
ext2 适用于分区容量不是很大,更新也不频繁的情况 ,例如/boot wvaq
ext3 是ext2的改进版本
ext4 是ext文件系统的最新版,最大1EB
xfs SGI,支持最大8EB的文件系统
swap
iso9660
btrfs
reiserfs
查看内核支持的文件系统:ls /lib/modules/`uname -r`/kernel/fs
2、创建文件系统
用法:
mkfs [选项] [-t <类型>] [文件系统选项] <设备> [<大小>]
选项:
-t, --type=<类型> 文件系统类型;若不指定,将使用 ext2
fs-options 实际文件系统构建程序的参数
<设备> 要使用设备的路径
<大小> 要使用设备上的块数
-V, --verbose 解释正在进行的操作;
多次指定 -V 将导致空运行(dry-run)
-V, --version 显示版本信息并退出
将 -V 作为 --version 选项时必须是惟一选项
-h, --help 显示此帮助并退出
3、文件系统修复
e2fsck fsck
-a 自动修复
-r 交互式修复
-y 自动回答yes
-f 强制修复
-p 自动进行安全的修复文件系统问题
xfs_repair
-f 修复文件,
-n 只检查
-d 允许修复只读的挂载设备
五、挂载设备
1、mount
通常情况下,一个文件夹只能挂一个设备
允许一个设备同时挂两个文件夹
2、unmount
用法:
mount [-lhV]
mount -a [选项]
mount [选项] [--source] <源> | [--target] <目录>
mount [选项] <源> <目录>
mount <操作> <挂载点> [<目标>]
选项:
-a, --all 挂载 fstab 中的所有文件系统
-c, --no-canonicalize 不对路径规范化
-f, --fake 空运行;跳过 mount(2) 系统调用
-F, --fork 对每个设备禁用 fork(和 -a 选项一起使用)
-T, --fstab <路径> /etc/fstab 的替代文件
-h, --help 显示此帮助并退出
-i, --internal-only 不调用 mount.<类型> 助手程序
-l, --show-labels 列出所有带有指定标签的挂载
-n, --no-mtab 不写 /etc/mtab
-o, --options <列表> 挂载选项列表,以英文逗号分隔
-O, --test-opts <列表> 限制文件系统集合(和 -a 选项一起使用)
-r, --read-only 以只读方式挂载文件系统(同 -o ro)
-t, --types <列表> 限制文件系统类型集合
--source <源> 指明源(路径、标签、uuid)
--target <目标> 指明挂载点
-v, --verbose 打印当前进行的操作
-V, --version 显示版本信息并退出
-w, --rw, --read-write 以读写方式挂载文件系统(默认)
-h, --help 显示此帮助并退出
-V, --version 输出版本信息并退出
3、查看挂载情况
mount
findmnt
fuser -v nount-point
fuser -km /mnt/sdb 踢除正在使用的用户
4、持久挂载
/etc/fstab
挂载点
|
文件系统
|
属性
|
是否备份
|
检查
|
/dev/mapper/centos-root /
|
xfs
|
defaults
|
0
|
0
|
mount -a 刷新挂载信息
5、重新挂载
remount
六、管理SWAP空间--交换文件系统
当没有足够的RAM保存系统处理的数据时会将数据写入SWAP 分区
1、创建分区
2、创建文件系统
mkswap /dev/sdc
3、修改/etc/fstab文件
4、生效:swapon -a 失效 :swapoff
5、eject 弹出光盘
eject -t 弹入光盘
cp /dev/cdrom /root/centos.iso 将文件做成光盘
sodim -v -eject centos.iso 刻录
lsusb 查看usb设备
6、文件系统空间实际真正占用等信息的查看工具
df -h -t
7、查看一个文件夹的大小
du -s
8、convert and copy a file
dd if= of= bs=
9、dmesg 观察硬件变化
七、RAID管理:独立硬盘冗余陈列
1、提高IO能力,磁盘并行读写
提高耐用性,磁盘冗余算法来实现
2、多接式磁盘陈列:通过扩展卡提供适配能力
内接式RAID:主板集成RAID控制器,安装OS前在BIOS里配置
软件RAID:通过OS实现,比如,群晖的NAS
3、RAID级别
RAID-0
要求至少两个硬盘以上组成,大小需要一样,读写可以并行处理,速度是最快的,但没
冗余,一个磁盘损坏,所有数据都会丢失。在企业里基本不用。
RAID-1
同时往两快硬盘里写一样的数据,有容错性,防止物理损坏。写没提升,但读有提升。
RAID-4
3块以上的硬盘组成,其中有一块硬盘是专用校验盘,磁盘利用率:(N-1)/N
RAID-5
改进版-4,校验位不固定在一块硬盘上,3块以上硬盘。一块硬盘坏了,会影响整体 速
RAID-6
双份检验位,算法更复杂。
有容错能力,允许最多2块硬盘损坏,至少4块硬盘
RAID-10
最少4块硬盘
两组备份
性能优于-01
RAID-01
多块硬盘,先实现RAID0,再组合成RAID1
....
RAID -50
RAID-60
JBOD:只是一堆磁盘
总结:
八、LVM管理:逻辑卷
1、实现过程
pvcreate:将设备指定为物理卷 :
vgcreate:用一个或多个物理卷来创建一个卷组
lvcreate:在物理卷上创建的逻辑卷,是由物理区域PE组成
可以在逻辑卷上创建文件系统并挂载
2、pvdisplay pvs 显示物理卷
3、vgs vgdisplay 显示物理卷组
4、PE,是默认的最小卷大小
5、lvs lvdisplay 显示逻辑卷信息
6、扩容
首先确保卷组空间是够的
lvextend - -r(自动增加扩容的文件系统)
resize2fs 文件系统同步到新的扩容空间 只支持EXT4
xfs_growfs 也是扩容
一步到位:lvextend -r 扩容同步立即同步文件系统
扩卷组:
新增物理卷
vgexteng
7、缩容:必须要离线,建议先备份,只支持ETX4
UMNOUT
e2fsck
resize2fs 同步文件系统
lvreduce
mount
8、 pvmove 将其中一个逻辑卷移动
vgreduce
pvremove
九、LVM快照
1、类似备份效果
2、创建快照
lvcreate -l -s -p r 只读
3、恢复快照
umount 取消所有挂载
lvconvert --merge 快照地址
十、删除卷组
A B 两同一卷组VG0
PVMOVE /dev/A 把A中的数据移走
lvreduce vg0 /dev/A 将物理卷从卷组里移走
pvremove /DEV
FDISK -D 删除分区
umount 取消挂载
步骤:lvremove pvremove vgremove