首页 > 代码库 > 2016-8-27 磁盘管理2

2016-8-27 磁盘管理2

partpaobe 通知内核重新读取
    partpaobe /dev/sbd5
    
文件系统管理
重新创建文件系统会损坏原有文件

文件系统类型:ext2,ext3
cat /proc/filesystem :查看当前内核所支持文件系统类型

mkfs: make file system
    -t FSTYPE
    
mkfs -t ext2 = mkfs.ext2
mkfs -t ext3 = mkfs.ext3

专门管理ext系列文件:
mke2fs:  指定ext2文件类型
    -j:ext3  创建ext3类型文件系统
    -b BLOCK_SIZE: 指定块大小,默认4096;可用值为1024/2048或4096    
    -L LABEL: 指定分区卷标
    -m #: 指定预留给超级用户的块数百分比
    -i #: 用于指定为多少字节的空间创建一个inode,默认为8192
          这里给出的数值应该为快大小的2^n倍
    -N #: 指定inode个数
    -F: 强制创建文件系统
    -E: 用于指定额外文件系统属性

blkid: 查询或查看磁盘设备的相关属性
    UUID
    TYPE
    LABEL:卷标

技术分享

e2label: 用于查看或定义卷标
    e2label 设备文件 卷标:设定卷标

tune2fs: 调整文件系统的相关属性
    -j: 不损害原有数据,将ext2升级为ext3
    -L LABEL: 设定或修改卷标
    -m #: 调整预留百分比
    -r #: 指定预留块数
    -o:设定默认挂载选项
        acl
    -c #: 指定挂载次数达到#次之后进行自检,0/-1表关闭此功能
    -i #: 每挂载使用多少天后进行自检,0/-1表关闭此功能
    -l :  显示超级块中的信息

技术分享


dumpe2fs: 显示文件系统信息(超级块信息+组信息)
    -h: 只显示超级块信息
fsck: 检查并修复linux文件系统
    -t FSTYPE: 指定文件系统类型
    -a: 自动修复

e2fsck: 专用于修复ext2/3文件系统
    -f: 强制检查
    -p: 自动修复

挂载: 将新的文件系统关联至当前根文件系统
卸载: 将某文件系统与当前系统的关联关系予以移除

mount: 挂载
mount 设备 挂载点
    设备:
        设备文件
        卷标: LABEL=""
        UUID: UUID=""
    挂载点:目录
        要求:
            1.此目录没有被其他进程使用
            2.目录得事先存在
            3.目录中的原有文件会暂时隐藏

            
mount: 显示当前系统已经挂载的设备及挂载点,和挂载属性等
mount [-option] [-o option]  device_mount_point
    -a: 表示挂载/etc/fstab文件中定义的所有文件系统
    -n: 默认情况下,mount命令每挂载一个设备,都会把挂载的设备信息保存至/etc/mtab文件
        使用-n选项意味着挂载设备时,不把信息写入此文件
    -t FSTYPE: 指定正在挂载设备上的文件系统的类型;不使用此选项时,
        mount会调用blkid命令获取对应文件系统的类型
    -r: 只读挂载,挂载光盘时常用此选项
    -w: 读写挂载
    -o: 指定额外的挂载选项,也即指定文件系统启用的属性
        remount: 重新挂载当前文件系统
        ro:挂载为只读
        rw: 读写挂载
    
挂载完成后,要通过挂载点访问对应文件系统上的文件

umount:卸载某文件系统
    umount 设备
    umount 挂载点
    卸载注意事项:挂载的设备没有进程使用

练习:

1、创建一个1G的分区,文件系统为ext4,卷标为DATA,块大小为1024,预留管理空间为磁盘分区的8%;挂载至/backup目录,要求使用卷标进行挂载,且在挂载时启动此文件系统上的acl功能;
# fdisk /dev/sdb
# n ——> l ——> +1G ——> p ——> w保存退出
# mke2fs –t ext4 –L DATA –b 1024 –m 8 设备名
# mount –o acl LABEL=”DATA” /backup

技术分享

技术分享


2、将此文件系统的超级块中的信息中包含了block和inode的行保存至/tmp/partition.txt中;
# dumpe2fs -h /dev/sdb6 | grep -E "block|inode" > /tmp/partion.txt

技术分享3、调整其预留百分比为3%;
tune2fs -m 3 /dev/sdb6

4、以重新挂载的方式挂载此文件系统为不更新访问时间戳,并验正其效果;

技术分享

5、对此文件系统强行做一次检测;
e2fsck -f /dev/sdb6

技术分享

6、删除复制而来的所有文件,并将此文件系统重新挂载为同步(sync);而后再次复制/etc目录中所有文件至此挂载点,体验其性能变化
# cp –r /etc/* /backup/ #速度非常快
# rm –rf /backup/*
# mount -o remount,sync /dev/sdc7 /backup
# cp –r /etc/* /backup/  #速度相当慢


创建交换分区: mkswap, swapon
1. fdisk /dev/sda
2. n -> <Enter> -> +1G 创建一个新分区,大小1G
3. t -> 8 -> L -> 82    调整分区类型为82(Linux swap),L查看可用分区类型
4. w 保存退出
5. mkswap /dev/sda8  格式化交换分区文件系统
         -L LABEL 同时指定卷标
6. swapon /dev/sda8  启用交换分区
         -a:启用所有的定义在/etc/fstab文件中的交换设备
   swapoff /dev/sda8 关闭交换分区
   
回环设备loopback:使用软件来模拟实现硬件

如果磁盘已经没有空间可以创建新的分区,可以创建一个镜像文件,当作一块硬盘来用

dd命令:dd不以文件为单位,而直接复制文件流,可以实现只复制一部分文件
    if=数据来源
    of=数据存储目标
    bs=# :block size,以多大为单位,如1M
    count=#:计数
    seek=#: 创建数据文件时,跳过的空间大小;   
   

    eg1:dd if=/dev/zero of=/root/tmp seek=1023 bs=1M count=1
        表示跳过1023个bs,复制1个bs,ls查看文件大小为1G,du -sh 查看文件实际只有1M    


    eg2:dd if=/dev/sda of=/mnt/usb/mbr.backup bs=512 count=1  
    把/dev/sda复制到/mnt/usb/mbr.backup,以512个字节为单位,复制一次,即备份磁盘MBR最初的512字节
    
    eg3:dd if=/mnt/usb/mbr.backup of=/dev/sda bs=512 count=1  恢复MBR

    eg4:cat /dev/cdrom > /root/rhel5.iso 把光盘制作成ISO镜像


    /dev/null :数据黑洞,吞噬一切数据
    /dev/zero:数据泡泡,产生无限0
    
使用文件创建swap分区:

1. dd if=/dev/zero of=/var/swapfile bs=1M count=1024  创建一个1G的文件

2. mkswap /var/swapfile 格式化此文件

3. swapon /var/swapfile    启动swap分区(在此命令前后可用free -m比较swap的多少)
    
mount命令,可以挂载iso镜像;
mount DEVICE MOUNT_POINT
     -o loop: 挂载本地回环设备
    
文件系统的配置文件/etc/fstab
    OS在初始时,会自动挂载此文件中定义的每个文件系统

临时挂载:mount /dev/sda5 /mnt/test,重启后挂载的文件就不存在了  
永久挂载:要记入/etc/fstab文件中
    
    /etc/fstab 格式:    
要挂载的设备     挂载点     文件系统类型      挂载选项       转储频率(每多少天做一次完全备份)    文件系统检测次序(只有根可以为1)                
/dev/sda5       /mnt/test      ext3          defaults             0 0

mount -a:挂载定义在/etc/fstab文件中的所有文件系统    
    
fuser: 验证进程正在使用文件或套接字文件
    -v: 查看某文件上正在运行的进程
    -k: kill 杀死正在使用的文件
    -m: mount
    fuser -km MOUNT_POINT挂载点:终止正在访问此挂载点的所有进程    
    
1、创建一个5G的分区,文件系统为ext3,卷标为MYDATA,块大小为1024,预留管理空间为磁盘分区的3%,要求开机后可以自动挂载至/data目录,并且自动挂载的设备要使用卷标进行引用;

# fdisk /dev/sdb
   n -> p -> <Enter> -> +5G -> w
# mke2fs -j -L MYDATA -b 1024 -m 3
# mkdir /data
# vi /etc/fstab加一行

  LABEL=‘MYDATA‘        /data        ext3        default         0 0
最后mount查看结果

技术分享

技术分享


2、创建一个本地回环文件/var/swaptemp/swapfile来用于swap,要求大小为512MB,卷标为SWAP-FILE,且开机自动启用此交换设备;

# touch /var/swaptemp/swapfile
# dd if=/dev/zero of=/var/swaptemp/swapfile bs=1M count=512
# mkswap -L SWAP-FILE /var/swaptemp/swapfile
# vi /etc/fstab
/var/swaptemp/swapfile       swap         swap          defaults        0 0
技术分享3、上述第一问,如何让其自动挂载的同时启用ACL功能;
    在编辑/etc/fstab中的default后加acl
#vi /etc/fstab
LABEL=‘MYDATA‘              /data                  ext3          defaults,acl      0 0   

本文出自 “11160930” 博客,请务必保留此出处http://11170930.blog.51cto.com/11160930/1843335

2016-8-27 磁盘管理2