centos6新增硬盘为sda
centos7新增硬盘按顺序增加
XFS不允许相同的UUID设备进行挂载
buffer 缓冲,内存→硬盘
cache 缓存,硬盘→内存
XFS 最大支持500T
EXT4 最大支持50T
日志型文件系统:ext3\ext4\xfs 支持断点续传
非日志型文件系统:ext2\vfat 不支持断点续传
硬盘扫描:echo '- - -' > /sys/class/scsi_host/host#/scan
管理分区
0磁道0扇区:512bytes
446bytes:boot loader
64bytes:分区表(16bytes:一个分区)
2bytes:55AA
查看分区表
hexdump -C /dev/sda -n 512
备份分区表
dd if=/dev/sda of=/data/mbr_bak bs=1 count=512
恢复分区表
dd if=/data/mbr_bak of=/dev/sda
查看分区表
cat /proc/partitions 内存中的分区表
lsblk 内存中的分区表,可显示光盘
fidisk -l 硬盘中的分区表,磁盘分区情况
df -h 显示已挂载信息
-T 显示文件系统
-P 格式对齐
du -sh 显示文件夹大小
查看文件系统
blkid 显示UUID,文件系统类型
同步分区表
partprobe centos7
partx -a /dev/sda centos6增加分区
partx -d --nr #-# /dev/sda centos6删除分区
一、
创建分区
fdisk
gdisk
子命令:
m 帮助
n 创建新分区
d 删除分区
p 分区列表
t 更改分区ID类型
l/L 分区ID类型列表
v 校验分区
u 转换单位
w 保存退出
q 不保存退出
二、
格式化:
mkfs.ext4 /dev/sda#
-b 1024|2048|4096 指定块大小
-L XXXX 指定卷标名
-i # 指定inode大小,不少于块的大小
-N # 指定分区中创建多少个inode
-I 一个inode占空间大小,128-4096
-m # 为管理人员预留空间占总空间的百分比,默认5%
-U 指定UUID
-v 显示详细执行过程
-q 静默执行
三、
挂载
mount 查看已挂载设备
-t 指定要挂载的设备上的文件系统类型,一般不用
-r 只读挂载
-w 读写挂载,默认已加
-n 隐藏挂载,但可在/proc/mounts查看
-a 自动挂载
-L 以卷标名指定挂载设备
-U 以UUID指定要挂载的设备
-B 实现文件夹挂文件夹
查看内核追踪到的已挂载的所有设备
cat /proc/mounts
重新挂载
mount -o remount /data
管理文件系统
查当前支持的文件系统:cat /proc/filesystems
tune2fs -l /dev/sda# 查看分区ext2/ext3文件系统详细信息
-L 'XXXXX' 修改卷标名LABEL
-j 将ext2升级ext3
-U UUID 修改UUID号
-c 修改最大挂载次数
dumpe2fs -h 查看超级块信息
findfd UUID/LABEL= 查找分区
修复文件系统:
fsck /dev/sda#
-p 自动修复错误
-r 交互式修复错误
-f 强制修复
-y 自动回答yes
注意:一定不要在挂载状态下修复,否则数据全丢
挂载设备
一个挂载点只能挂一个设备;一个设备可以同时挂在多个文件夹、最好挂载在空文件夹
默认挂载选项:rw,suid,dev,exec,auto,nouser,async
mount -o async 异步模式
sync 同步模式,更改时同步内存、磁盘
atime/noatime 文件、目录
auto/noauto 是否支持-a选项
exec/noexec 是否允许运行应用程序
suid/nosuid 是否支持suid和sgid权限
remount 重新挂载
ro 只读
rw 只写
user/nouesr 是否允许普通用户挂载此设备
acl 启用ACL
loop 使用loop设备
查看loop设备
losetup -a
创建loop设备
dd if=/dev/zero of=/data/loop1 bs=1M count=100
查看挂载情况
findmnt /data或/dev/sda#
查看正在访问指定文件系统的进程
lsof /data
fuser -v /data
终止所有正在访问指定的文件系统的进程
fuser -km /data
/etc/fstab
UUID 挂载点 文件系统格式 挂载选项 备份时间(以天为单位) 磁盘检查顺序(0表示不检查)
UUID=XXXX /data ext4 defaults 1 1
/dev/sda1 /data XFS defaults 1 2
LABEL=XXX /data ext4 acl,rw,loop 0 0
管理swap
free -h 查看swap和内存大小
mkswap 格式化swap分区
swapon -a 自动挂载swap
-s 查看已挂载的swap
swapoff /dev/sda# 取消挂载
工具dd(用于复制文件并对原文件的内容进行转换和格式化处理)
用法:
dd if=/PATH/FORM/SRC of=/PATH/TO/DEST bs=# count=#
of=file 写到所命名的文件(目标)
if=file 从所命名文件读取(源)
bs=size 单位
ibs=size 指定读的块大小
obs=size 指定写的块大小
cbs=size 一次转换的多少
skip=blocks 从if中跳过blocks个读取
seek=blocks 从of中跳过blocks个再写
count=n 数量
conv=ascii 转换ebcdic为ascii
ebcdic 转换ascii为ebcdic
lcase 大写转换小写
ucase 小写转换大写
nocreat 不创建输出文件
noerror 出错时不停止
notrunc 步阶段输出文件
sync
实验1:
迁移home文件夹
1.init 1 踢出其他用户
2.mkdir /mnt/home 创建临时文件夹
3.cp -a /home/* /mnt/home 把home数据迁移到临时文件夹
4.fdisk 创建分区
5.mkfs.ext4 /dev/sdb1 格式化
6.mount /dev/sdb1 /mnt/home 挂载分区到临时文件夹
7.vim /etc/fstab
8.mount -a
9.rm -rf /home/*
10.umount /mnt/home
11.rm -rf /mnt/home
12.init 5 切换到正常模式
实验2:
创建以文件为swap分区
dd if=/dev/zero of=/swapfile bs=1024M count=2
mkswap /swapfile
vim /etc/fstab
/swapfile swap swap defaults 0 0
swapon -a
练习1:
备份MBR
dd if=/dev/sda of=/data/mbr.bak bs=512 count=1
破坏MBR的中间的64字节
dd if=/dev/zero of=/dev/sda bs=64 count=1 skip=446 seek=446