Linux之磁盘管理

一、linux目录结构

技术分享

/    根目录

——————————————————————————

/bin,/sbin    二进制可执行文件,操作系统自身运行就需要用到的程序

/usr/bin,/usr/sbin    二进制可执行文件,基本的系统工具

/usr/local/bin,/usr/local/sbin    二进制可执行文件,第三方程序

bin下存放的为普通用户程序,sbin下存放的是超级用户命令

——————————————————————————

/lib    标准程序设计库,向/bin,/sbin提供库支持

/usr/lib    标准程序设计库,向/usr/bin,/usr/sbin提供库支持

/usr/local/lib    标准程序设计库,向/usr/local/bin,/usr/local/sbin提供库支持

——————————————————————————

/etc    系统配置文件,程序的配置文件

——————————————————————————

/tmp    存放程序运行时所产生的临时文件的目录

/var    存放一些经常会发生变化的文件,给程序提供缓冲功能,如log、mail、cache等

/proc    虚拟目录,伪文件系统,系统内核的映像

/sys    虚拟目录,伪文件系统,系统的硬件信息

/media    通常用于临时挂载U盘或便携设备

/mnt    通常用于临时挂载第二块硬盘分区

/boot    引导目录,存放内核

/home/USERNAME,/root    用户的家目录

/dev    设备文件

 

二、文件系统格式

    文件系统是属于内核的功能

windows:

    Fat16、Fat32、NTFS等

Linux:

    ext2、ext3、ext4、xfs、reiserfs、nfs、iso9600、jfs、brtfs等

——————————————————————————

对分区格式化的过程,就是创建文件系统的过程(这里描述的是高级格式化

低级格式化是创建磁道的过程,使用与硬盘不匹配的工具低级格式化磁盘影响使用寿命

MBR扇区组成:Master Boot Record      512bytes:

                                                                          446bytes:bootloader

                                                                          64bytes:分区表,其中每16bytes标示一个分区,最多只能有4个主分区

                                                                          2bytes:魔数,例如是否可以引导等信息

三、磁盘管理命令

---------------------------------------------------------------------

Linux创建分区的命令:

fdisk,sfdisk,part

最常用的命令,fdisk最多支持15个分区

分区时,第一个逻辑分区一定会从sda5开始,

 

---------------------------------------------------------------------

fdisk命令

 

查看磁盘分区信息

fdisk –l [ DEVICE ]    #在fdisk程序中可以使用p命令亦能实现

fdisk –l /dev/[hs]d[a-z]    #可以使用globbing

技术分享

 

 

fdisk [ DEVICE ]

    常用交互式命令:

        m:获得帮助

技术分享

        d:删除一个分区

        n:新建一个分区

        p:打印分区表   

技术分享

        w:保存退出

        q:不保存退出

         l: 各分区类型所对应的System ID

        a:设定可启动标记

        t:修改指定分区的System ID

 

---------------------------------------------------------------------

新建分区后,查看内核识别的分区信息

    cat /proc/partitions

RHEL5让内核重新读取硬盘分区表

    partprobe [ DEVICE ]

如果提示:    -bash: partprobe: command not found,则 yum install –y parted

RHEL6让内核重新读取硬盘分区表

    partx [–a] [ PARTITION ] [DEVICE]

    例如:partx –a /dev/sda4 /dev/sda

---------------------------------------------------------------------

 

mkfs命令

 

    mkfs –t fstype /dev/part    :-t fstype 指定文件系统类型

技术分享

 

以下命令执行效果相同:

mkfs –t ext4 = mkfs.ext4 = mke2fs –t ext4

mkfs –t ext3 = mkfs.ext3 = mke2fs –j = mke2fs –t ext3

mkfs –t ext2 = mkfs.ext2 = mke2fs

mkfs –t xfs = mkfs.xfs

 

mke2fs –t {ext2|ext3|ext4}

    -b {1024|2048|4096}:块大小

        块大小取决于CPU对内存页框大小的支持,x86系统默认页框大小为4K

    -L label:设定卷标

    -m #:预留给管理使用的块所占据总体空间的比例

    -r #:预留给管理使用的块个数

    -E:设定文件系统的扩展属性

 

blkid /dev/sda3    查看设备的uuid、文件系统类型及卷标

---------------------------------------------------------------------

tune2fs命令

    -l:显示文件系统超级块信息

    -L:设定卷标

    -m #:调整预留块

    -r #:调整预留块的个数

    -o:设定挂在默认选项

    -O:设定文件系统的默认特性

    -E:调整文件系统的扩展属性

 

---------------------------------------------------------------------

e2label命令:显示或设定卷标

    e2label DEVICE [Volume_label]

查看其配置文件   /etc/mke2fs.conf

显示块大小

tune2fs –l DEVICE | grep “Block size”查看块大小信息

tune2fs –l DEVICE | grep “Reserved”查看预留信息

 

---------------------------------------------------------------------

dumpe2fs命令

输出ext文件系统信息:

dumpe2fs    [options]    [DEVICE]

    -h:显示超级块相关信息

 

---------------------------------------------------------------------

mount命令:查看当前系统挂载的所有设备

手动挂载:mount    #需要开机自动挂载则需要修改配置文件/etc/fstab

    mount [-t fstype] DEVICE MOUNT_POINT

技术分享

    mount [-t fstype] LABEL=”卷标” MOUNT_POINT

    mount [-t fstype] UUID=”UUID" MOUNT_POINT

    mount

    -r:相当于“-o ro”,只读挂载

    -n:挂在文件系统时,不更新/etc/mtab文件    cat /etc/mtab  查看内容 对比  mount       

    -o:用于指定挂在选项

            常用挂载选项

                ro:只读

                rw:读写

                noatime:关闭更新访问时间,包含了nodiratime    #性能优化的重要手段之一

                auto:是否能够由”mount -a”命令挂载

                defaults:相当于rw,suid,dev,exec,auto,nouser,async,relatime

                sync:同步写入

                async:异步写入

                dirsync:目录同步写入

                dev:允许在这个文件系统上使用设备文件,对立的是nodev

                exec:允许该系统文件上执行二进制程序,相对的有noexec

                remount:重新挂载

                    mount –o remount,other_options DEVICE

          

    loop:本地回环设备   

        mount –o loop,other_options DEVICE MOUNT_POINT    #挂载本地回环设备

 

 

umount命令:卸载分区

    umount DEVICE

    umount MOUNT_POINT

    挂载之后,挂载点原有数据会被隐藏,因此不能挂在到系统常用目录上

    卸载之后,要确保没有进程正在访问挂载的设备,否则无法卸载

 

---------------------------------------------------------------------

fuser命令

    fuser [MOUNT_POINT]:查看正在访问某挂载点的进程

    fuser –km [MOUNT_POINT]:强行杀死正在访问此挂载点的进程

 

---------------------------------------------------------------------

/etc/fstab:mount为手动挂载分区,如果需要开机自动挂载需要配置该文件

技术分享

配置文件内容分为6段,分别为

1.挂载的设备:设备文件、UUID、卷标

2.挂载点

3.文件系统的类型

4.挂载类型:defaults表示使用默认选项,多个选项彼此间需逗号分隔

5.转储频率:0是从不备份;1是每日备份;2是每隔一天

6.自检顺序:0是不检测;1是第一个检测,一般只有根文件系统被第一个检测;2-9检测顺序依次类推

 

技术分享

mount –a:配置好文件后,使用该命令,会自动挂载/etc/fstab 所有支持auto挂载选项的文件系统,当有多个分区需要挂载且支持auto选项时可以使用

技术分享

 

---------------------------------------------------------------------

 

LInux的交换分区:swap

    必须是独立分区,独立的文件系统

交换分区多大?

    科学计算类的服务器:交换内存可以尽可能大,比如为物理内存的2倍

    英勇程序类的服务器:交换内存尽可能的小,例如1G,

 

swap分区大小通用参考

    物理内存小于等于2G, swap=memory*2

    2G<memory<4G,swap=memory*1.5

    memory>4G,swap=4G

 

 

free命令

    -m:显示为MB

    -g:显示为GB

技术分享

buffers:缓冲一般用于写操作

cached:缓存一般用于读操作

 

 

技术分享

使用fdisk命令添加了一个文件系统ID为82的swap分区/dev/sda4

技术分享

此时需要使内核识别分区信息

RedHat5系列:partprobe

RedHat6系列:partx –a /dev/sda4 /dev/sda

技术分享

 

swap相关命令:

 

然后创建交换分区

    mkswap DEVICE

            -L label

技术分享

 

启用交换分区

    swapon DEVICE:启用指定交换分区

    swapon -a:启用所有交换分区

技术分享

挂载成功,swap分区大小变为3G

 

禁用交换分区

    swapoff DEVICE:

    swapoff -a:

 

开机自动启用交换分区,可定义于/etc/fstab

DEVICE    swap    swap    defaults    0    0    #交换分区的挂载点就是swap,文件系统类型也是swap

技术分享


 

---------------------------------------------------------------------

 

关于linux文件系统及磁盘管理命令更详细的信息,可以查阅相关书籍或陈明乾的博客

 

:下方图片从陈明乾的博客转载,他总结的真的很好!

                                   点击图片放大

技术分享

本文出自 “Arvin Lau” 博客,请务必保留此出处http://64314491.blog.51cto.com/2784219/1631119

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。