磁盘管理和文件系统管理(1)

Linux磁盘管理

硬盘:

    机械式硬盘5400,7200,10000转/分

    SSD


机械式:

    track磁道

    sector: 512bytes

    cylinder柱面: 分区的基本单位;


    MBR:Master Boot Record,0扇区0磁道

         512bytes

             446: bootloader引导加载器

    64: filesystem allocation table

         16字节: 标识一个分区(最多4个主分区)

      2:55AA


    磁盘接口类型:

        IDE (ATA):133MB/s,/dev/hd(centos5)

        SCSI: 640MB/s

        SATA:6Gbps

        SAS:6Gbps

        USB:480MB/s

    

    识别硬盘设备:/dev/sd

        标记不同的硬盘设备:/dev/sd[a-z]

        标记同一设备上的不同分区:/dev/sd[a-z][1-]

        1-4: 主或扩展分区标识

        5+:逻辑分区标识

    

    设备文件:特殊文件

        设备号:

        major, minor

        major: 设备类型

        minor: 同一类型下的不同设备

        

    “块”:block,随机设备

    “字符”:character,线性设备

    

                    GPT

                    分区:分隔存储空间为多个小的空间,每个空间可独立使用文件系统;


分区工具:

fdisk, parted, sfdisk


fdisk工具的使用:

wKioL1XsQAmT05o9AADNuApm4fI975.jpg

    *最多支持在一块硬盘上的15个分区;

wKiom1XsPtnjUduiAAJCyt5Zkdk312.jpg

    分区管理子命令:

p: 显示

n: 创建

d: 删除

t: 修改分区ID

l: 列出所有支持ID类型

w: 保存退出

q: 放弃修改并退出

m: 获取帮助

wKiom1XsQAawmbv0AAKqwNBtklA492.jpg

wKioL1XsQ9Wjm6GSAAJSWl6Fo3U775.jpg

    创建完成之后,查看内核是否已经识别新的分区:

# cat /proc/partitions


    有三个命令可以让内核重读磁盘分区表:

CentOS 5: partprobe [DEVICE]

        CentOS 6,7: 

            partx

         kpartx


            partx命令:(格式化)

         partx DEVICE

                        partx -a DEVICE

                        partx -a -n M:N DEVICE

                        M  精确

                        M: 从开始

                        :N 到哪为止

wKiom1XsQ6KSzth5AAB46rPrQZQ528.jpg

wKiom1XsQ6KznfjHAADzMRhjnnw999.jpg

             kpartx命令:(格式化)

wKioL1XsRoeTsnAeAAFNrAoJHOM498.jpg      kpartx -af DEVICE


Linux文件系统管理


文件系统:

    VFS:Virtual File System,支持多种文件系统。

   

    Linux:ext2, ext3, ext4, reiserfs, xfs, btrfs, swap

    光盘:iso9660

    Windows: fat32(vfat), ntfs

    Unix: ffs, ufs, jfs, jfs2

    网络文件系统:nfs, cifs

    集群文件系统:ocfs2, gfs2

    分布式文件系统:ceph, 

    moosefs, mogilefs, hdfs, gfs, glusterfs


    (1) 日志型文件系统

    非日志型文件系统:ext2

    日志型文件系统:ext3,ext4, reiserfs, xfs, btrfs,

    

    (2) swap:交换分区,换进换出,在磁盘上。



创建文件系统:

    在分区上执行格式化(高级格式化)

        要使用某种文件系统,满足两个条件:

        内核中:支持此种文件系统

        用户空间:有文件系统管理工具



创建工具:mkfs (make filesystem)

    mkfs -t type DEVICE

wKiom1XsS-OS6yS5AAGB7jVLZcE045.jpg

    mkfs.type DEVICE

    fsck查看

wKiom1XsTbyAu49TAAHDOXLuDPU861.jpg

    ext系列文件系统的专用管理工具:

    mke2fs -t {ext2|ext3|ext4} DEVICE

    -b BLOCK: 1024, 2048, 4096

    -L 'LABEL': 设定卷标

wKiom1XsToyR2N5iAAJXmmDhUMI135.jpg


    blkid命令:

    blkid DEVICE,查看

    LABEL, UUID, TYPE

wKioL1XsT--AZ62IAABwqryWdXM326.jpg

wKioL1XsUOygIyqYAACFVVvwszo266.jpg

wKioL1XsUTGTk78sAABGLsN57AY841.jpg


练习:

1、复制/etc/grub.cfg配置文件至/tmp目录,用查找替换命令删除……文件中的行首的空白字符;

wKiom1XsV9XQQdvGAAMMuR2RF_A050.jpgwKiom1XsWCvgBJiEAAG33h6F1bs382.jpg

2、复制/etc/rc.d/init.d/functions文件至/tmp目录,用查找替换命令为/tmp/functions的每行开头为空白字符的行的行首加一个#; 原有空白字符保留;

wKioL1XsWp-Cq6plAACdXs-75ag394.jpg

wKiom1XsWfOAupLZAAIFlUKy_kE405.jpg

3、替换/tmp/functions文件中的/etc/sysconfig/init为/var/log;

wKioL1XsXUqDvR6CAAGklWsAYtI591.jpg

4、删除/tmp/functions文件中所以#开头,且#后面至少跟了一个空白字符的行的行首#;

wKioL1XsYzWwj-61AAIzYaFzfR8561.jpg

5、查找/var目录属主为root,且属组为mail的所有文件;

wKioL1XsaYjDv2FtAABO9LYWgxs780.jpg

6、查找/usr目录下不属于root、bin或hadoop的所有文件;

wKiom1XsZZPjnIGXAADPLoYBqYM222.jpg

7、查找/etc目录下最近一周内其内容修改过,且属主不为root或hadoop的所有文件;

wKiom1XsaAiiuyI0AACaHbfBsbI459.jpg

8、查找当前系统上没有属主或属组,且最近一周内曾被访问过的所有文件;

wKioL1XsbCGB8dMqAABaYmGTSks377.jpg

9、查找/etc目录下大于20k且类型为普通文件的所有文件;

wKiom1XsadyDdjMvAAHTlFaGZl8460.jpg

10、查找/etc目录下所有用户都没有写权限的文件;

wKiom1XscK7zDqB1AABIODfqSXU110.jpg

11、查找/etc目录下至少有一类用户没有执行权限的文件;

wKiom1Xsb1vSLZHYAABQMGY97-s991.jpg

12、查找/etc/init.d目录下,所有用户都有执行权限,且其它用户拥有写权限的文件;

wKioL1Xsb9ShvnELAABWFyPk7Yg079.jpg

13、让普通用户能使用/tmp/cat去查看/etc/shadow文件;

wKiom1Xsbg2yyXAAAABEdOmC4y0411.jpg

14、创建目录/test/data,让某组内普通用户对其有写权限,且创建的所有文件的属组为目录所属的组;此外,每个用户仅能删除自己的文件;

wKiom1XsboLzwAXHAAGGRLJU9QE366.jpg


你可能感兴趣的:(磁盘管理)