创建设备文件
固态、机械盘识别
RM:1 表示机械式的 0表示固态盘
lsblk -d -o name,rota
虚拟机vmware识别被添加的硬盘 ;centos7、8已验证ok
单独执行
echo '- - -' >/sys/class/scsi_host/host0/scan
脚本执行
for i in `ls /sys/class/scsi_host/`
do
echo "- - -" > /sys/class/scsi_host/$i/scan
done
echo "ok "
lsblk
硬盘可以被使用步骤
分区
分区方式 分区策略一样的可以用其他主机的分区表拷贝过来还原
MBR Master Boot Record 主引导分区 这种分区方式最多支持硬盘空间为2T
0磁道0扇区 大小512bytes ,其中 446bytes为boot loader ,64bytes是分区表,其中每16bytes标识一个分区,2bytes的结束标志
备份mbr分区表
dd if=/dev/sda of=mbr.img bs=1 count=64 skip=446
查看 hexdump -C mbr.img
恢复mbr分区表
dd if=/mbr.img of=/dev/sda bs=1 seek=446
GPT 最大支持128个分区,而且都是主分区
具备备份功能,支持
查看分区表
parted /dev/sdb print
#parted在创建,删除分区操作时,实时生效,操作时要慎重!!!!
MBR分区管理
lsblk
fdisk /dev/sdb
partprobe 同步磁盘分区表到内存
GPT分区管理
fdisk 更合适mbr
gdisk
UUID,只要分区不变,UUID的值不变
创建文件系统
mkfs.ext4 /dev/sdb1 等同于 mkfs -t ext /dev/sdb1
-L “/mnt/sdb2” 卷标名,同挂载点名
-b {1024|2048|4096} 指定块大小,指给文件分配的最小空间
-m # 为管理人员预留空间占总空间的百分比,默认5%,#可以是整数,也可以是小数,是占整个文件系统的百分比
给手动创建后的文件系统加acl功能 tune2fs -o acl /dev/sdb1,重新挂载后才能生效
查看已创建的文件系统 blkid [option] [/dev/sdb1]
-U uid值
-L 卷标名
查看ext系列文件系统块大小
先查文件系统类型 lsblk -f
在根据类型查块大小 tune2fs -l /dev/sdb1
查看xfs系列文件系统块大小
lsblk -f
xfs _info /dev/sda1
挂载
1、按照设备名挂载 mount /dev/sdb1 /mnt
2、uuid挂载 mount -U 725a7349-602f-44d3-8367-12d879fd4541 /mnt
3、按照Label挂载
mount -r 只读方式挂载
mount -t iso9660 指定文件系统挂载
重新挂载
mount -o remount,rw /mnt
umount选项 noatime访问改种配置下的文件,文件访问时间不做修改,
持久保存挂载信息 /etc/fstab,写入后执行mount -a 才可以生效
一共是6列
NAME
MOUNTPOINT
FSTYPE
文件系统属性,mount -o的参数
ro,rw,noatime,defaults表示rw
1表示每天备份1次,0不备份
开始是否进行安全检查
1表示检查
0表示不检查
uuid,设备名
UUID=de60c076-8413-466f-8fb0-33fffd4909a1
/boot
xfs
defaults
0
0
/dev/sdb1
mnt
xfs
defaults
fstab故障修复
##文件当作分区使用
1、 dd if=/dev/zero of=mp4.img bs=1M count=1024
2、mkfs.xfs mp4.img
3、mkdir mp4.img /mnt
4、查看 losetup -a
文件系统修复:
注意:一定不要在挂载状态下执行修复命令!!一定要与分区上的文件系统类型(FS_TYPE)相同
fsck File System Check
fsck.FS_TYPE
fsck -t FS_TYPE
FS_TYPE:ext4,xfs....
常用选项
-a 自动修复
-r 交互式修复
ex4系列的专用修复命令 e2fsck /dev/sdb1
xfs专用修复命令 xfs_repair
总结
ip addr add 10.0.0.1/24 dev ens160 给网卡ens160配置ip
查看内存中的分区表
lsblk; cat /proc/partitions
查看硬盘分区表信息,这个是真实的分区表信息
fdisk -l
同步硬盘分区信息到内存
partprobe
查看文件系统类型 lsblk -f 或df -T(df查看是已经挂载的) #df看的是块设备,可以在文件夹下挂载文件夹 mount -B /etc/ /mnt
XFS 文件系统 一个文件或分区可以达到8EB centos7及以上系统默认文件系统时xfs
ext4单个文件最大可以达到16TB,文件系统最大1EB
Swap文件系统 #划分一个硬盘空间给当作内存使用,
buff/cache 缓存到这里的数据是为了提高效率
buff 缓冲区 把内存的数据写到磁盘,写缓存
cache 缓存 把磁盘数据读到内存 读缓存
swap建议大小
使用策略 , /proc/sys/vm/swappiness
如图:当内存剩余空间30%时,使用swap
扩充swap空间
1、检查硬盘有无空间
2、创建分区,查看文件系统类型,更改swap,打印,然后保存,退出
3、mkswap /dev/sdb6格式化为swap类型的文件系统
4、添加到fstab
5、挂载 swapon -a
6、查看swap分区是由哪些设备提供的空间 swapon -s
1、检查硬盘是否有空间 可以看到sdb和sdc都有空间
lsblk
2、创建分区,查看文件系统类型,更改swap,打印,然后保存,退出
3、partprobe同步到磁盘空间;mkswap /dev/sdb6格式化为swap类型的文件系统
4、添加到fstab
5、挂载 swapon -a
6、查看swap分区是由哪些设备提供的空间 swapon -s
停用某设备作为swap
swapoff /dev/sdb5
把文件当作swap使用
if=/dev/zero of=/swapfile bs=1M count=100
chmod 600 /swapfile
vim /etc/fstab
swapon -a
检查swapon -s
光盘的操作
eject 弹出光盘
eject -t 弹入光盘
制作iso文件
cp /dev/sr0 /data/centos8.iso
把某个目录打包成iso格式文件
mkisofs -r -o /root/etc.iso /etc 命令来自genisoimage包
刻录光盘
wodim -v ejet centos.iso
USB设备
查看usb设备是否识别 lsusb
手动挂载 正常挂载就行
磁盘管理相关命令
du 文件数据实际使用空间
df 数据和文件系统自身元数据占用空间,不同文件系统元数据所占用空间不同
dd
df -h和df -H结果为什么差这么多,-H是以二进制计算1M=1024k -h,是十进制计算,1M=1000k
df -P 不换行显示
du -sh /* 根下每个文件大小
dd
#fdatasysnc,直接写入到磁盘,速度比不加此参数慢
销毁数据盘
dd if=/dev/unrandom of=/dev/sdb1
或
dd if=/dev/zero of=/dev/sdb1
因为分区不能扩展,且分区必须在一块硬盘的连续空间内,如果分区所在硬盘坏了,那么数据就没了,基于以上种种,急需采用新的技术来解决这种问题,解决方案有RAID、LVM实现分区扩展
RAID 独立盘冗余阵列
可以实现功能
提高IO能力,磁盘并行读写
提高耐用性,磁盘冗余算法来实现
RAID实现方式
RAID级别
,
主流raid 0,1,5,6 raid 1 0
冗余能力
读性能
写性能
最少盘数
利用率
raid 0
没有
2+
100%
raid 1
有
提升
下降
2N块盘,最少两块,
50%
raid 4
有
3,3+
(N-1)/N
技术不用了,因为校验位单独放置在一块盘,实际使用种校验盘容易坏
raid 5
有 最多允许一块盘损坏
提升
提升
3,3+
(N-1)/N
校验位放置在不同的盘中
raid 6
有,最多允许两块盘故障
提升
提升
4,4+
(N-2)/N
校验位放置在不同的盘中
raid 0 1
提升
提升
4 4+
50%
先raid 0 ,再raid 1
基本不用了
raid 1 0
每组镜像只能坏一块
提升
提升
4 4+
50%
先raid 1 再raid 0
raid 1 0 的容错性比raid 01强,生产一般用raid 10
raid 5 0
先raid 5 再raid 0
LVM 主要作用是啥 空间的自如扩容
Logical volume Mnager
VG
LV
PE physical Extent
VG=N个LV,LV里包含多个PE
VG 卷组是物理硬盘空间的组合
LV之上创建文件系统
创建逻辑卷并实现挂载
1、创建物理卷
pvcreate /dev/sdb /dev/sdc1或一个一个创建 pvcreate /dev/sdb & pvcreate /dev/sdc1
2、将物理卷加到卷组 vgcreate vg_name /dev/sdb /dev/sdc1
3、创建逻辑卷
lvcreate -n lv_name [ -l PE个数 | -L 600M ] vg_name
按照pe个数分 ,每个PE默认大小是4M
lvcreate -n lv_name -l 40 vg_name
按照大小分
lvcreate -n lv_name -L 600M vg_name
4、创建文件系统,并挂载
mkfs.ext4
mkfs.xfs
mount
5.写入 fstab 实现永久挂载
vim fstab
:r!blkid /dev/../lv_name
LVM实验
扩容lv
PE全部分配 lvextend -l +100%free /dev/mapper/lv_data
创建文件系统,针对ext4 resize2fs /dev/vg_name/lv_name
可以用如下一条命令实现上面两条命令的效果
lvextend -r -L 1G /dev/vg_mysql/lv_name
扩容卷组
pvcreate /dev/sdc
vgextend vg_name /dev/sdc
物理盘上建raid,然后在raid上建lvm
df命令能看到真实空间的大小
xfs不支持lvm缩减
缩减有数据损坏的风险,建议先备份再缩减
跨主机迁移卷组,如下图 了解即可
逻辑卷(LVM)快照技术
特点
备份速度快,瞬间完成
应用场景是测试环境,不能完成代替备份
快照后,逻辑卷的修改速度会有一定的影响
快照原理
是特殊的逻辑卷,只有当数据发生更改时,会把更改前的数据存放至快照区,存放的只是最初的那一版,中间改一百次,也是存第一次改动的那个数据
怎么查看逻辑卷中快照大小
创建快照
挂载快照卷 ,ext文件系统不用使用-o nouuid ,如下是xfs文件系统的配置
恢复快照
换掉故障的lvm使用的硬盘
移除物理盘上的数据 物理盘/dev/sdb,确保卷组有剩余空间
将/dev/sdb上的数据移除到其他磁盘
pvmove /dev/sdb
将物理盘/dev/sdb移除卷组
vgreduce vg_name /dev/sdb
将sdb移除物理卷
pvremove /dev/sdb
拔掉硬盘
添加新硬盘
加入pv,加入卷组