首页 > 代码库 > linux 磁盘管理

linux 磁盘管理

linux磁盘管理

    I/O Port: I/O 设备地址

    块设备:block, 存取单位“块”,磁盘

    字符设备:char, 存取单位“字符”, 键盘

    设备文件:关联至一个设备驱动程序,使能够与之对应的硬件设备进行通信

        设备号:主设备号   次设备号

        设备文件只有源数据(属性),没有数据,都是特殊类型的文件,目录也是

    /dev/dev_file都在这儿


    硬盘的接口类型:

        并行(慢于串口):

            IDE   133MB/S(接口速率)

            SCSI  640MB/S

        串口:

            STAT  6Gbps

            SAS   6Gbs+

            USB   480MB/S

        转速:rpm

            

    磁盘设备的设备文件命令方式:

        IDE : /dev/hd

        SCSI,SATA,SAS,USB: /dev/sd

        centOS 6以后都以sd开头

        不同设备: a-z 标识    /dev/sda  /dev/sdb....

        同一设备的不同分区: 1, 2, 3.。。。 /dev/sda1, /dev/sda2  ....

    机械式硬盘工作机制:

        track:磁道

        cylinder:柱面

        sector:扇区(512字节-4K)

        如何分区:

            按柱面进行分区

            0 柱面被预留出来(512字节)。

                MBR(Master Boot  Record 主引导记录): 46bytes :存储分区表(每16个字节标识一个区,其中有一个指向扩展分区(N个逻辑分区)), 446bytes:boot loader , 2bytes:55AA

        4个主分区:3个主分区+1个扩展(N个逻辑分区)

        大于2T,要使用GPT,http://www.iruanmi.com/what-is-gpt-and-what-is-uefi/   

分区管理工具:fdisk, parted, sfdisk

    fdisk:对于一块硬盘,仅能管理15个分区 

        fdisk -l(带*号的是引导分区)

        fdisk device:

            子命令:

                p: 显示已有分区

                n:创建一个新分区 

                d:删除

                w:将更新写入,保存退出

                q:放弃

                m:获取帮助

                l:列出所分区ID

                t:调整分区ID(linux 83,  82)

            查看内核是否已经识别新的分区:

                cat /proc/partations应该出现你的新分区,否则没有写入

            通知内核重新读取分区表 

                partx -a /dev/device

                partx -n M:N指明从哪个到哪个号

                cat /proc/partations

            也可以kpartx -a /dev/DEVICE(centOS 5没有这个工具,使用partprobe /dev/DEVICE)

Linux文件系统管理

    Linux文件系统:ext2, ext3, ext4, xfs ,btrfs ,reiserfs, jfs, swap

    swap:交换分区

windows:fat43,ntfs

Unix:FFS, UFS, JFS2

网络文件系统:NFS, CIFS

集群文件系统: GFS2, OCFS2

分布式文件系统: ceph, moosefs, mgilefs, GlusterFS , Lustre

根据其是否支持“journal”功能:

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

    非日志文件系统: ext2, vfat

文件系统的组成部分:

    内核中的模块:ext4, xfs

    用户空间的管理工具: mkfs.ext4, mkfs.xfs, mkfs.vfat

Linux的虚拟文件系统:NFS

创建文件系统:

查看支持的文件系统:cat /proc/filesystems

    mkfs 命令:

    (1)# mkfs.FS_TYPE /dev/DEVICE

           xfs,

          btrfs

          vfat

    (2) # mkfs -t FS_TYPE /edv/DEVICE

        -L "Lable": 设定卷标

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

        -t {ext2| ext3|ext4}

        -b {1024|2048|4096}指明块大小

        -L “Label”卷标

        -j: 日志, 相当于 -t ext3

        -i #: 为数据空间中每多少个字节创建一个inode,不应该小Block块大小,

    blkid: 查看块设备属性信息

    e2label:管理ext系列文件系统的Lable  # e2label Device

    tune2fs: 重新设定ext 系列文件系统可调整参数的值

             -l:查看指定文件系统超级块的信息

            -L:修改卷标

    dumpe2fs: -h 查看超级块信息 

    mkswap:创建交换分区 

        —L:

文件系统检测:

    fsck: File System Check      

         -t FS_type: 检测特定的文件系统,一定要与分区上已经有的文件类型相同

         -a:自动修复错误

         -r: 交互式修复

    e2fsck:ext系列专用检测修复工具

        -f:强制修复

        -y:自动回答为yes

文件系统管理:

    将额外文件系统与根文件系统某现存的目录建立关系,此目录可以作为其它文件入口的,挂载

    解除关联关系   卸载

    把设备关联挂载点:mount, 

    卸载时,可以使用设备,也可以使用挂载点 umount

    注意:挂载点下原有文件在挂载完成后会被临时隐藏

    挂载方法: mount DEVICE MOUNT_POINT

        mount:显示当前系统已经挂载的所有设备

        device:指明要挂载的设备

            (1):设备文件:例如 /dev/sda3

            (2):卷标:-L ”Label“例如 -L “MYDATE”

            (3):UUID: -U "UUID" 例如: —U “”

            (4):伪文件系统名称:proc, sysfs, devtmpsfs, configfs

        dir:挂载点

            事先存在:建议使用空目录

            进程使用中的设备是无法被卸载的

        常用选项:

            -t vsftype: 指定要挂载的设备上的文件系统类型

            -r: readonly: 只读挂载

            -w: read and write 读写挂载

            -n: 不更新/etc/mtab(追踪所有挂载和卸载)

            -a: 自动挂载所有支持自动挂载的设备(定义在了/etc/fstab文件中,且挂载选项中有“自动挂载”功能)

            -v:显示挂载过程

    查看内核追踪到的已挂载的所有设备: cat /proc/mounts

            -o options :

              async:异步模式

              sync:同步模式

             atime/noatime:同步时间戳(默认notaime)(包含目录和文件)

             diratime/nodiratime:目录的访问时间戳 

             auto/noauto:是否支持自动挂载默认auto

             exec/noexec:是否支持将文件系统上应用程序运行为进程

        卸载命令:

            umount DEVICE

            umount MOUNT_POINT

            查看谁在使用挂载点 fuser -v /mydate/     fuser -km /mydate/ 删除使用的用户      

    挂载交换分区:

        启用:swapon

                -a:激活所有的交换分区

                -p priority: 指定优先级

        禁用:swapoff

    内存空间使用状态:free -m  或者 -g 

    文件空间使用状态查看工具:df -h 或者 -iinode使用情况   -P 使用POSIX格式输出

    查看某目录总体空间占用状态

        du disk useage

            du  DIR  -h     -s:显示总大小

文件挂载的配置文件:/etc/fstab

    每行定义一个要挂载的文件系统

    要挂载的设备或伪文件系统  挂载点 文件系统类型    挂载选项 转储频率 自检次序

链接文件:

    硬链接:不能够对目录进行,不能跨分区

            指向一个inode的多个不同路径,创建文件的硬链接即为为inode创建新的引用路径,因此会增加其引用计数

    符号链接:可以对目录进行,可以跨分区,指向的是另一个文件的路径,其大小为指向路径字符串的长度,不增加或减少目标文件inode的引用计数

    ln [-sv] SRC DEST    -s:软连接

文件管理操作对文件的影响

    文件删除:文件引用计数为0,空闲

    文件复制:创建一个新空文件,数据再填充到新的空文件。涉及读出和写入

    文件移动:复制和删除,路径改变(只是移动了原数据的引用路径而已)

               

                                                  

           

        

本文出自 “祝融与火” 博客,请务必保留此出处http://notezr.blog.51cto.com/9424982/1918968

linux 磁盘管理