磁盘管理

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

金牌收租佬

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值