服务器添加3块磁盘的体系结构

这篇博文主要总结了Linux磁盘的一些操作,主要是硬盘的加载,分区(MBR分区和GPT分区),分区的挂载,以及swap分区的加载设置。

图片 1


 

基础命令

  1. [root@oldboylinux test]# free -m
  • df查看磁盘分区使用状况
    1. -l //仅显示本地磁盘(默认)
    2. -a //显示所有文件系统的磁盘使用情况,包含比如/proc/
    3. -h //以1024进制计算最合适的单位显示磁盘容量
    4. -H //以1000进制计算最合适的单位显示磁盘容量
    5. -t //显示指定类型文件系统的磁盘分区
    6. -T //显示磁盘分区类型
    7. -x //不显示指定类型文件系统的磁盘分区
  • du统计磁盘上的文件大小
    1. -b //以byte为单位统计文件
    2. -k //以KB为单位统计文件
    3. -m //以MB为单位统计文件
    4. -h //以1024进制计算最合适的单位显示磁盘容量
    5. -H //以1000进制计算最合适的单位显示磁盘容量
    6. -s //统计指定目标
  • 常用命令
    1. df -lhT
    2. df -lhT -t ext4(分区类型)
    3. df -lhT -x ext4
    4. du -s [指定目录]
    5. du -sb *.zip //模糊匹配
    6. du -sm *.zip
    7. du -sh *.zip
  1.              total used free shared
    buffers cached

  2. Mem: 992 133 859 0 24 37

  3. -/+ buffers/cache: 70 921

  4. Swap: 511 0 511


注意:

回顾磁盘分区时的注意事项:

1、linux系统的特性是将系统不用的物理内存缓存起来,因此,859不是系统的真是内存。

  • 主分区和扩展分区总数不能超过4个。
  • 扩展分区最多只能有一个
  • 扩展分区不能直接存取数据

2、系统真正可用内存是921。

3、buffers为写入缓冲区,sync将缓冲区数据写入磁盘。

  • Linux系统中硬件设备都是以文件的形式存在于根目录下的Dev目录下。
  • 硬件设备都是有Linux系统自动识别的。
  • 添加的新硬盘,必须进行分区、格式化、挂载后才能使用。
  • MBR分区模式:主分区不超过4个,单个分区容量最大为2TB
  • GPT分区模式:主分区个数“几乎”没有限制,单个分区容量“几乎”没有限制。GPT分区中,最多可以支持128个主分区,且每个分区的大小突破了MBR分区的2TB的限制,最大为18EB=18432PB=18874368TB。缺点是GPT的主分区中,不适合安装X86架构的系统。

4、cache为读取数据的缓冲区。

当硬盘空间消耗殆尽时怎么办?

5、硬盘是机械的,无论是写入还是读取都太慢了,所以读取和写入都是用来缓存技术。

比较好的做法应该是:在保留原硬盘的基础上,给服务器添加新的硬盘。

6、门户架构网站都会采用缓存技术,来让用户写入读取尽可能不接触磁盘。


磁盘的内部结构

磁盘的内部结构主要包括:盘片、磁头、盘片主轴、控制电机、磁头控制器、数据转换器、接口、缓存等几个部分。

为虚拟机添加硬盘

磁头组件及磁头驱动装置

1、磁头组件。它由读写磁头、传动手臂、传动轴三部分组成。

磁盘读取数据的工作原理是利用特定的磁粒子的极性来记录数据。磁头在读取数据时,将磁粒子的不同极性转换成不同的电脉冲信号,再利用数据转换器将这些原始信号变成电脑可以使用的数据,写的操作正好与此相反。

2、磁头驱动装置。磁盘的寻道是靠移动磁头,而移动磁头则需要该装置驱动才能实现(机械操作)。磁头驱动装置由电磁线圈电机、磁头驱动小车、防震动装置构成,高精度的轻型磁头驱动装置能够对磁头进行正确的驱动和定位,并能在很短的时间内精确定位系统指令指定的磁道。

3、磁盘片。盘片是磁盘存储数据的真正载体,磁盘盘片大多采用金属薄膜材料(或有机玻璃材料),这种金属薄膜较软盘的不连续颗粒载体具有更高的存储密度、高剩磁及高矫顽力等优点。

4、主轴组件。主轴组件包括如轴承和驱动电机等。磁盘主轴的转数是衡量磁盘读写性能的重要参考之一。例:SAS15K,SATA10K。

5、前置控制电路。前置电路控制磁头感应的信号、主轴电机调速、磁头驱动和伺服定位等,由于磁头读取的信号微弱,将放大电路密封在腔体内可以减少外来信号的干扰,提高操作指令的准确性。

  1. 将虚拟机关机(poweroff)。(当然,也有服务器的主板支持热插拔的。可以带电连接新硬盘。)
  2. 虚拟机设置->下面的“添加”->类型选择“硬盘”->下一步->选择硬盘类型(默认的(SCSI)就好)->创建一个新的虚拟机硬盘(下一步)->设置磁盘最大值;(没什么特殊要求,基本都是下一步,最后一步OK)。
  3. 重启Linux系统,使用fdisk
    -l//显示每个硬盘的分区列表(新添加的硬盘是没有分区表的)可以看到Disk
    /dev/sdb:和Disk /dev/sda:2块硬盘,以及sda的分区表,没有sdb的分区表。
  4. 先使用MBR分区模式为sdb分区。

    [root@joe dev]# 
    

    fdisk
    /dev/sdb

        //进入分区模式
    Device contains neither a valid DOS partition table, nor Sun, SGI or OSF disklabel
    Building a new DOS disklabel with disk identifier 0x9ce83f46.
    Changes will remain in memory only, until you decide to write them.
    After that, of course, the previous content won't be recoverable.
    

    Warning: invalid flag 0x0000 of partition table 4 will be corrected by w(rite)

    WARNING: DOS-compatible mode is deprecated. It’s strongly recommended to
    switch off the mode (command ‘c’) and change display units to
    sectors (command ‘u’).

    Command (m for help):

    style=”background-color: #ffc000;”>m

       //查看帮助
    Command action
       a   toggle a bootable flag
       b   edit bsd disklabel
       c   toggle the dos compatibility flag
       d   delete a partition    //删除一个分区
       l   list known partition types
       m   print this menu
       n   add a new partition    //添加新的分区
       o   create a new empty DOS partition table
       p   print the partition table    //打印分区表
       q   quit without saving changes    //取消保存并退出
       s   create a new empty Sun disklabel
       t   change a partition's system id    //修改分区的系统ID
       u   change display/entry units
       v   verify the partition table
       w   write table to disk and exit        //写分区表并退出
       x   extra functionality (experts only)
    

    Command (m for help): n
    Command action
    e extended //扩展分区
    p primary partition (1-4)//主分区
    p
    Partition number (1-4):

    style=”color: #800080;”>1

    First cylinder (1-2610, default 1): //扇区的范围(1-2610),默认开始1,直接回车则使用默认数值
    Using default value 1
    Last cylinder, +cylinders or +size{K,M,G} (1-2610, default 2610): 500M

    Command (m for help): p

    Disk /dev/sdb: 21.5 GB, 21474836480 bytes
    255 heads, 63 sectors/track, 2610 cylinders
    Units = cylinders of 16065 512 = 8225280 bytes
    Sector size (logical/physical): 512 bytes / 512 bytes
    I/O size (minimum/optimal): 512 bytes / 512 bytes
    Disk identifier: 0x9ce83f46

    Device Boot Start End Blocks Id System
    /dev/sdb1 1 500 4016218+ 83 Linux //分配好的主分区1
    //添加第二个分区
    Command (m for help): n
    Command action
    e extended
    p primary partition (1-4)
    p
    Partition number (1-4):
    Value out of range.
    Partition number (1-4): 2
    First cylinder (501-2610, default 501):
    Using default value 501
    Last cylinder, +cylinders or +size{K,M,G} (501-2610, default 2610): 500M
    Value out of range.
    Last cylinder, +cylinders or +size{K,M,G} (501-2610, default 2610):
    Using default value 2610

    Command (m for help): p

    Disk /dev/sdb: 21.5 GB, 21474836480 bytes
    255 heads, 63 sectors/track, 2610 cylinders
    Units = cylinders of 16065
    512 = 8225280 bytes
    Sector size (logical/physical): 512 bytes / 512 bytes
    I/O size (minimum/optimal): 512 bytes / 512 bytes
    Disk identifier: 0x9ce83f46

    Device Boot Start End Blocks Id System
    /dev/sdb1 1 500 4016218+ 83 Linux
    /dev/sdb2 501 2610 16948575 83 Linux //第二个分区
    //由于分配不合适主观意愿,想删除分区
    Command (m for help): d
    Partition number (1-4):

    style=”background-color: #ffc000;”>2

          //分区编号
    

    Command (m for help): p

    Disk /dev/sdb: 21.5 GB, 21474836480 bytes
    255 heads, 63 sectors/track, 2610 cylinders
    Units = cylinders of 16065 * 512 = 8225280 bytes
    Sector size (logical/physical): 512 bytes / 512 bytes
    I/O size (minimum/optimal): 512 bytes / 512 bytes
    Disk identifier: 0x9ce83f46

    Device Boot Start End Blocks Id System
    /dev/sdb1 1 500 4016218+ 83 Linux //第二个分区已经删除

    Command (m for help): n
    Command action
    e extended
    p primary partition (1-4)
    p
    Partition number (1-4):

    style=”background-color: #ffc000;”>2

    First cylinder (501-2610, default 501):
    Using default value 501
    Last cylinder, +cylinders or +size{K,M,G} (501-2610, default 2610): 1000

    Command (m for help): p

    Disk /dev/sdb: 21.5 GB, 21474836480 bytes
    255 heads, 63 sectors/track, 2610 cylinders
    Units = cylinders of 16065 * 512 = 8225280 bytes
    Sector size (logical/physical): 512 bytes / 512 bytes
    I/O size (minimum/optimal): 512 bytes / 512 bytes
    Disk identifier: 0x9ce83f46

    Device Boot Start End Blocks Id System
    /dev/sdb1 1 500 4016218+ 83 Linux
    /dev/sdb2 501 1000 4016250 83 Linux

    Command (m for help): n
    Command action
    e extended
    p primary partition (1-4)
    e //建立扩展分区
    Partition number (1-4):

    style=”color: #800080;”> style=”text-decoration: underline;”>3

    First cylinder (1001-2610, default 1001):
    Using default value 1001
    Last cylinder, +cylinders or +size{K,M,G} (1001-2610, default 2610):
    Using default value 2610

    Command (m for help): p

    Disk /dev/sdb: 21.5 GB, 21474836480 bytes
    255 heads, 63 sectors/track, 2610 cylinders
    Units = cylinders of 16065 * 512 = 8225280 bytes
    Sector size (logical/physical): 512 bytes / 512 bytes
    I/O size (minimum/optimal): 512 bytes / 512 bytes
    Disk identifier: 0x9ce83f46

    Device Boot Start End Blocks Id System
    /dev/sdb1 1 500 4016218+ 83 Linux
    /dev/sdb2 501 1000 4016250 83 Linux
    /dev/sdb3 1001 2610 12932325 5 Extended

    Command (m for help): n
    Command action
    l logical (

    style=”color: #800080;”>5 or over)

        //此时扩展分区e没有了,说明MBR只能有一个扩展分区,接下来是逻辑分区
       p   primary partition (1-4)
    l
    First cylinder (1001-2610, default 1001): 
    Using default value 1001
    Last cylinder, +cylinders or +size{K,M,G} (1001-2610, default 2610): 1500
    

    Command (m for help): p

    Disk /dev/sdb: 21.5 GB, 21474836480 bytes
    255 heads, 63 sectors/track, 2610 cylinders
    Units = cylinders of 16065 512 = 8225280 bytes
    Sector size (logical/physical): 512 bytes / 512 bytes
    I/O size (minimum/optimal): 512 bytes / 512 bytes
    Disk identifier: 0x9ce83f46

    Device Boot Start End Blocks Id System
    /dev/sdb1 1 500 4016218+ 83 Linux
    /dev/sdb2 501 1000 4016250 83 Linux
    /dev/sdb3 1001 2610 12932325 5 Extended
    /dev/sdb5 1001 1500 4016218+ 83 Linux //逻辑分区是从5开始的,1-4只能是主分区和扩展分区的编号

    Command (m for help): n
    Command action
    l logical (5 or over)
    p primary partition (1-4)
    l
    First cylinder (1501-2610, default 1501):
    Using default value 1501
    Last cylinder, +cylinders or +size{K,M,G} (1501-2610, default 2610):
    Using default value 2610

    Command (m for help): p

    Disk /dev/sdb: 21.5 GB, 21474836480 bytes
    255 heads, 63 sectors/track, 2610 cylinders
    Units = cylinders of 16065
    512 = 8225280 bytes
    Sector size (logical/physical): 512 bytes / 512 bytes
    I/O size (minimum/optimal): 512 bytes / 512 bytes
    Disk identifier: 0x9ce83f46

    Device Boot Start End Blocks Id System
    /dev/sdb1 1 500 4016218+ 83 Linux
    /dev/sdb2 501 1000 4016250 83 Linux
    /dev/sdb3 1001 2610 12932325 5 Extended
    /dev/sdb5 1001 1500 4016218+ 83 Linux
    /dev/sdb6 1501 2610 8916043+ 83 Linux

    Command (m for help):

    style=”background-color: #ffc000;”>w //保存写

    The partition table has been altered!

    Calling ioctl() to re-read partition table.
    Syncing disks.
    [root@joe dev]# fdisk

    l
    

    Disk

    /dev/sdb

    : 21.5 GB, 21474836480 bytes
    255 heads, 63 sectors/track, 2610 cylinders
    Units = cylinders of 16065 * 512 = 8225280 bytes
    Sector size (logical/physical): 512 bytes / 512 bytes
    I/O size (minimum/optimal): 512 bytes / 512 bytes
    Disk identifier: 0x9ce83f46
    

    Device Boot Start End Blocks Id System
    /dev/sdb1 1 500 4016218+ 83 Linux
    /dev/sdb2 501 1000 4016250 83 Linux
    /dev/sdb3 1001 2610 12932325 5 Extended
    /dev/sdb5 1001 1500 4016218+ 83 Linux
    /dev/sdb6 1501 2610 8916043+ 83 Linux

    Disk

    /dev/sda

    : 21.5 GB, 21474836480 bytes
    255 heads, 63 sectors/track, 2610 cylinders
    Units = cylinders of 16065 * 512 = 8225280 bytes
    Sector size (logical/physical): 512 bytes / 512 bytes
    I/O size (minimum/optimal): 512 bytes / 512 bytes
    Disk identifier: 0x000a030a
    

    Device Boot Start End Blocks Id System
    /dev/sda1 * 1 26 204800 83 Linux
    Partition 1 does not end on cylinder boundary.
    /dev/sda2 26 281 2048000 82 Linux swap / Solaris
    Partition 2 does not end on cylinder boundary.
    /dev/sda3 281 536 2048000 83 Linux
    Partition 3 does not end on cylinder boundary.
    /dev/sda4 536 2611 16669696 5 Extended
    /dev/sda5 536 2611 16668672 83 Linux

  5. 使用GPT分区模式分区(同时GPT的分区工具parted也可以MBR分区)

    [root@joe dev]# parted
    GNU Parted 2.1
    使用 
    

    /dev/sda

        //注意正在使用的是sda
    Welcome to GNU Parted! Type 'help' to view a list of commands.
    (parted) print all                                                        
    Model: VMware, VMware Virtual S (scsi)
    Disk /dev/sda: 21.5GB
    Sector size (logical/physical): 512B/512B
    Partition Table: msdos
    
    Number  Start   End     Size    Type      File system     标志
     1      1049kB  211MB   210MB   primary   ext4            启动
     2      211MB   2308MB  2097MB  primary   linux-swap(v1)
     3      2308MB  4405MB  2097MB  primary   ext4
     4      4405MB  21.5GB  17.1GB  extended
     5      4406MB  21.5GB  17.1GB  logical   ext4
    

企业生产工作中磁盘的选型

当前服务器市场,主流磁盘为SAS、SATA、SSD硬盘。

    Model: VMware, VMware Virtual S (scsi)
    Disk 

/dev/sdb:
     21.5GB
    Sector size (logical/physical): 512B/512B
    Partition Table: msdos    //sdb的应该是我们需要的gpt

    Number  Start  End  Size  Type  File system  标志


    警告: 无法以读写方式打开 /dev/sr0 (只读文件系统)。/dev/sr0 已按照只读方式打开。
    错误: /dev/sr0: unrecognised disk label                                   

    (parted) 

select /dev/sdb
          //选择sdb                                            
    使用 /dev/sdb
    (parted) mkpart     //如果不进行gpt的选择设置,直接mkpart那么我们还是使用的MBR模式                                                      
    分区类型?  primary/主分区/extended/扩展分区? primary                     
    文件系统类型?  [ext2]? ^Z
    --------------------------------------------------------------------------------------------------
    (parted) 

select /dev/
    sdb                                                  
    使用 /dev/sdb
    (parted) mklabel gpt                                                      
    警告: The existing disk label on /dev/sdb will be destroyed and all data on this disk will be lost. Do you
    want to continue?
    是/Yes/否/No? yes
    (parted) print all                                                        
    Model: VMware, VMware Virtual S (scsi)
    Disk 

/dev/sda:
     21.5GB
    Sector size (logical/physical): 512B/512B
    Partition Table: msdos

    Number  Start   End     Size    Type      File system     标志
     1      1049kB  211MB   210MB   primary   ext4            启动
     2      211MB   2308MB  2097MB  primary   linux-swap(v1)
     3      2308MB  4405MB  2097MB  primary   ext4
     4      4405MB  21.5GB  17.1GB  extended
     5      4406MB  21.5GB  17.1GB  logical   ext4


    Model: VMware, VMware Virtual S (scsi)
    Disk 

/dev/sdb:
     21.5GB
    Sector size (logical/physical): 512B/512B
    Partition Table: gpt

    Number  Start  End  Size  File system  Name  标志


    警告: 无法以读写方式打开 /dev/sr0 (只读文件系统)。/dev/sr0 已按照只读方式打开。
    错误: /dev/sr0: unrecognised disk label                                   

    (parted) mkpart                                                           
    分区名称?  []? test1                                                     
    文件系统类型?  [ext2]? ext4
    起始点?

1 
               //以1开始,默认单位是M  unit GB 指定为GB为单位                                               
    结束点? 1000M                                                           
    (parted) print                                                            
    Model: VMware, VMware Virtual S (scsi)
    Disk /dev/sdb: 21.5GB
    Sector size (logical/physical): 512B/512B
    Partition Table: gpt

    Number  Start   End     Size   File system  Name   标志
     1      1049kB  1000MB  999MB               test1

    (parted)

rm 1
         //删除分区                                                        
    (parted) print                                                            
    Model: VMware, VMware Virtual S (scsi)
    Disk /dev/sdb: 21.5GB
    Sector size (logical/physical): 512B/512B
    Partition Table: gpt

    Number  Start  End  Size  File system  Name  标志

    (parted) mkpart                                                           
    分区名称?  []? test1                                                     
    文件系统类型?  [ext2]? ext4                                            
    起始点?0       //以0开始,出现了警告,这里是字节对齐的原因造成的,所以一般为了避免警告,我们不以0开始。                                                        
    结束点? 1000M
    警告: The resulting partition is not properly aligned for best performance.
    忽略/Ignore/放弃/Cancel? cancel                                           
    (parted) mkpart
    分区名称?  []? test1                                                     
    文件系统类型?  [ext2]? ext4                                              
    起始点?1                                                                
    结束点?1000M                                                            
    (parted) print                                                            
    Model: VMware, VMware Virtual S (scsi)
    Disk /dev/sdb: 21.5GB
    Sector size (logical/physical): 512B/512B
    Partition Table: gpt

    Number  Start   End     Size   File system  Name   标志
     1      1049kB  1000MB  999MB               test1

    (parted) mkpart                                                           
    分区名称?  []? test2                                                     
    文件系统类型?  [ext2]? ext4                                              
    起始点? 1000M                                                            
    结束点? 1500M                                                            
    (parted) print
    Model: VMware, VMware Virtual S (scsi)
    Disk /dev/sdb: 21.5GB
    Sector size (logical/physical): 512B/512B
    Partition Table: gpt

    Number  Start   End     Size   File system  Name   标志
     1      1049kB  1000MB  999MB               test1
     2      1000MB  1500MB  500MB               test2
    //上面是交互模式,下面是命令模式
    (parted) mkpart test3 

1500 3000
             //使用一条命令直接搞定 分区名 起始位 结束位                                  
    警告: The resulting partition is not properly aligned for best performance.    //出现分区的原因是起始的1500和上次结束的1500重叠了。
    忽略/Ignore/放弃/Cancel? cancel         
    (parted) mkpart test3 1501M 1700M                                         
    (parted) mkpart test4 1701M 1800M                                        
    (parted) mkpart test5 1801M 1900M                                        
    (parted) print                                                            
    Model: VMware, VMware Virtual S (scsi)
    Disk /dev/sdb: 21.5GB
    Sector size (logical/physical): 512B/512B
    Partition Table: gpt

    Number  Start   End     Size    File system  Name   标志
     1      1049kB  1000MB  999MB                test1
     2      1000MB  1500MB  500MB                test2
     3      1501MB  1700MB  199MB                test3
     4      1701MB  1800MB  99.6MB               test4
     5      1801MB  1900MB  98.6MB               test5

    (parted) 

rm 5

    (parted) quit

企业级SAS硬盘

企业里常见的SAS硬盘是15000转/分。当前主流300G、600G、1T,从具体的业务需求及性价比考虑,工作中多用300-600G的SAS硬盘。用于提供生产线上的普通对外提供服务的业务服务器。例如,生产线上的数据库业务、存储业务、图片业务及相关高并发业务(web
http、cache服务),总的来说,如果没有特殊业务需求,SAS磁盘是生产环境首选的磁盘配置。

  1. 分区完以后,就是格式化和挂载分区了。也就是设置文件系统。在这里需要注意以下内容:MBR分区只能格式化主分区和扩展分区,逻辑分无不能格式化
    GPT分区,在格式化以后,只能使用parted 的print查看格式结果
    挂载分区:分区默认的挂载目录/mnt目录挂载点必须存在。

    [root@joe dev]#
    

    ls -l /dev/sdb*

    brw-rw----. 1 root disk 8, 16 5月   7 01:18 /dev/sdb
    brw-rw----. 1 root disk 8, 17 5月   7 01:18 /dev/sdb1
    brw-rw----. 1 root disk 8, 18 5月   7 01:18 /dev/sdb2
    brw-rw----. 1 root disk 8, 19 5月   7 01:18 /dev/sdb3
    brw-rw----. 1 root disk 8, 21 5月   7 01:18 /dev/sdb5
    brw-rw----. 1 root disk 8, 22 5月   7 01:18 /dev/sdb6
    [root@joe dev]# mkfs.ext3 
    

    /dev/sdb1

            //第一种设置方式
    mke2fs 1.41.12 (17-May-2010)
    文件系统标签=
    操作系统:Linux
    块大小=4096 (log=2)
    分块大小=4096 (log=2)
    Stride=0 blocks, Stripe width=0 blocks
    502944 inodes, 2008117 blocks
    100405 blocks (5.00%) reserved for the super user
    第一个数据块=0
    Maximum filesystem blocks=2059403264
    62 block groups
    32768 blocks per group, 32768 fragments per group
    8112 inodes per group
    Superblock backups stored on blocks: 
        32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632
    
    正在写入inode表: 完成                            
    Creating journal (32768 blocks): 完成
    Writing superblocks and filesystem accounting information: 完成
    
    This filesystem will be automatically checked every 23 mounts or
    180 days, whichever comes first.  Use tune2fs -c or -i to override.
    [root@joe dev]# mkfs 
    

    -t ext4 /dev/sdb2

            //第二种方法
    mke2fs 1.41.12 (17-May-2010)
    文件系统标签=
    操作系统:Linux
    块大小=4096 (log=2)
    分块大小=4096 (log=2)
    Stride=0 blocks, Stripe width=0 blocks
    50288 inodes, 200812 blocks
    10040 blocks (5.00%) reserved for the super user
    第一个数据块=0
    Maximum filesystem blocks=209715200
    7 block groups
    32768 blocks per group, 32768 fragments per group
    7184 inodes per group
    Superblock backups stored on blocks: 
        32768, 98304, 163840
    
    正在写入inode表: 完成                            
    Creating journal (4096 blocks): 完成
    Writing superblocks and filesystem accounting information: 完成
    
    This filesystem will be automatically checked every 26 mounts or
    180 days, whichever comes first.  Use tune2fs -c or -i to override.
    [root@joe dev]# 
    

    mkdir -p /mnt/joetest

        //首先建立挂载点
    [root@joe dev]# 
    

    mount /dev/sdb1 /mnt/joetest/

            //挂载分区
    [root@joe dev]# 
    

    umount /mnt/joetest/

                //卸载挂载点
    
    上面这中挂载方式是临时的,永久性的应该如下:
    vim 
    
    • /etc/
      fstab
      在末尾插入一行

    /dev/sdb1 /mnt/imooc ext3
    default 0 0

    设备名称    挂载点    文件系统类型
    保存退出即可
    
  2. swap交换分区(步骤为:建立一个普通的Linux分区,修改分区类型的16进制编码,格式化交换分区,启用交换分区。

    [root@joe dev]# 
    

    fdisk /dev/

    sdb
    
    WARNING: GPT (GUID Partition Table) detected on '/dev/sdb'! The util fdisk doesn't support GPT. Use GNU Parted.
    WARNING: DOS-compatible mode is deprecated. It's strongly recommended to
             switch off the mode (command 'c') and change display units to
             sectors (command 'u').
    
    Command (m for help): p
    
    Disk /dev/sdb: 21.5 GB, 21474836480 bytes
    255 heads, 63 sectors/track, 2610 cylinders
    Units = cylinders of 16065 * 512 = 8225280 bytes
    Sector size (logical/physical): 512 bytes / 512 bytes
    I/O size (minimum/optimal): 512 bytes / 512 bytes
    Disk identifier: 0x00000000
    
       Device Boot      Start         End      Blocks   Id  System
    /dev/sdb1               1        1000     8032468+  83  Linux
    /dev/sdb2            1001        1100      803250   83  Linux
    /dev/sdb3            1101        2610    12129075    5  Extended
    /dev/sdb5            1101        1500     3212968+  83  Linux
    /dev/sdb6            1501        2610     8916043+  83  Linux
    
    Command (m for help): t
    Partition number (1-6): 
    

    2

           //修改ID
    Hex code (type L to list codes): L
    
     0  Empty           24  NEC DOS         81  Minix / old Lin bf  Solaris        
     1  FAT12           39  Plan 9          
    

    82 Linux swap

     / So c1  DRDOS/sec (FAT-
     2  XENIX root      3c  PartitionMagic  
    

    83 Linux

               c4  DRDOS/sec (FAT-
     3  XENIX usr       40  Venix 80286     84  OS/2 hidden C:  c6  DRDOS/sec (FAT-
    

企业级SATA硬盘

企业级SATA硬盘7200-10000转/分,常见的容量为1T、2T、4T和6T,优点是经济实惠,容量大,从具体的业务需求及性价比考虑,工作中多用SATA磁盘做线下不提供服务的数据存储或者并发业务服务不是很大的业务应用,比如站点程序及数据库、图片的线下备份等。特性容量性价比高,一般2T的SATA磁盘较佳。

磁盘选购要点:

1、线上业务用SAS磁盘。

2、线下的业务用SATA磁盘,磁带库。

3、线上高并发、小容量的业务用SSD磁盘。

4、根据数据的访问热度,智能分析分层存储。

注意:千万不能用SATA磁盘来做在线高并发服务的数据存储或数据库业务。

    Hex code (type L to list codes): 82
    Changed system type of partition 2 to 82 (Linux swap / Solaris)

    Command (m for help): w
    The partition table has been altered!

    Calling ioctl() to re-read partition table.
    Syncing disks.
    [root@joe dev]# fdisk 

/dev/
    sdb

    WARNING: GPT (GUID Partition Table) detected on '/dev/sdb'! The util fdisk doesn't support GPT. Use GNU Parted.
    WARNING: DOS-compatible mode is deprecated. It's strongly recommended to
             switch off the mode (command 'c') and change display units to
             sectors (command 'u').

    Command (m for help): p

    Disk /dev/sdb: 21.5 GB, 21474836480 bytes
    255 heads, 63 sectors/track, 2610 cylinders
    Units = cylinders of 16065 * 512 = 8225280 bytes
    Sector size (logical/physical): 512 bytes / 512 bytes
    I/O size (minimum/optimal): 512 bytes / 512 bytes
    Disk identifier: 0x00000000

       Device Boot      Start         End      Blocks   Id  System
    /dev/sdb1               1        1000     8032468+  83  Linux
    /dev/sdb2            1001        1100      803250  

 82 Linux swap /
     Solaris
    /dev/sdb3            1101        2610    12129075    5  Extended
    /dev/sdb5            1101        1500     3212968+  83  Linux
    /dev/sdb6            1501        2610     8916043+  83  Linux

    Command (m for help): q

    [root@joe dev]# mkswap 

/dev/sdb2
        //设置交换区
    Setting up swapspace version 1, size = 803244 KiB
    no label, UUID=c7d31434-4013-4bbb-b68e-29b501934377
    [root@joe dev]# swapon 

/dev/sdb2
        //开启交换区
    [root@joe dev]# free
                 total       used       free     shared    buffers     cached
    Mem:       1030612     132468     898144          0      13612      51388
    -/+ buffers/cache:      67468     963144
    Swap:      

2851232 0 2851232

    [root@joe dev]# swapoff 

/dev/sdb2
        //关闭交换区
    [root@joe dev]#

磁盘相关名词解释

英文

中文

disk

磁盘

head

磁头

sector

扇区

track

磁道

cylinder

柱面

units

单元块(一个柱面的大小)

block

数据块

inode

索引节点

在磁盘不工作的时候,磁头停靠在靠近主轴接触盘片的表面,即线速度最小的地方,这里是一个不存放任何数据的特殊区域,称为启停区或着陆区(landing
zone),启停区以外就是数据区。

在磁盘的最外圈,离主轴最远的磁道称为”0″磁道,磁盘数据的存放就是从最外圈”0″磁道开始的。”0″磁道非常重要,系统的引导程序就在0柱面0磁道1扇区的前446bytes。

磁道

每个盘片有两个面,都可记录信息。盘片表面以盘片中心为圆心,用于记录数据的不同半径的圆形磁化轨迹就称为磁道。

磁盘在格式化时被划分成许多同心圆,这些同心圆的轨迹叫做磁道(track)。磁道由盘面从外向内依次从0开始顺序编号。

柱面

所有的盘面上同一个半径的磁道的圆形轨迹从上到下依次会成一个圆柱体,就称作柱面(cylinder),每个圆柱上的磁头由上而下从”0″开始编号。

柱面数=一个盘面的磁道数

扇区

盘面有圆心向四周画直线,不同的磁道被直线分成许多扇形(弧形)的区域,每个弧形的区域叫做扇区,每个扇区大小为512字节。

操作系统是以扇区(sector)为单位将信息存储在磁盘上,一般情况下,每个扇区的大小是512个字节。一个扇区主要有两个部分内容,存储数据地点的标识符和存储数据的数据段。

扇区的第一个主要部分是标识符。标识符就是扇区头标,包括组成扇区三维地址的三个数字,扇区所在的磁头(或盘面)、磁道(或柱面号)以及扇区在磁道上的位置即扇区号。投标中还包括一个字段,其中有显示扇区是否能可靠存储数据,或者是否已发现某个故障因而不宜使用的标记。有些磁盘控制器在扇区头标中还记录有指示字,可在原扇区出错时指引磁盘转到替换扇区或磁道。最后,扇区头标以循环冗余校验(CRC)值作为结束,以供控制器检验扇区头标的读出情况,确保准备无误。

扇区的第二个主要部分是存储数据的数据段,可分为数据和保护数据的纠错码(ECC)。在初始准备期间,计算机用512个虚拟信息字节(实际数据的存放地)和与这些虚拟信息字节相应的ECC数字填入这个部分。

磁道柱面扇区总结

磁盘最基本的组成部分是由坚硬的金属材料制成的涂以磁性介质的盘片(有很多层),不同容量磁盘的盘片数不等。

1、一块磁盘有2-14个盘片,每个盘片有两个面,每个面对应一个读写磁头,用磁头号来区分盘面,即盘面数就是磁头数,盘片数*2=磁头数(盘面数)。

2、不同盘面的磁道被划分为多个扇形区域,每个区域就是一个扇区(sector)。

3、同一个盘面,以盘片中心为圆心,每个不同半径的圆形轨迹就是一个磁道(track)。

4、不同盘面相同半径的磁道组成一个圆柱面就是柱面(cylinder)。

5、一个柱面包含多个磁道(这些磁道半径相同),一个磁道包含多个扇区。

6、数据信息记录可表示为:某磁头、某磁道(柱面)、某扇区。

磁盘容量计算

  1. [root@oldboylinux ~]# fdisk -l
  1.  

  2. Disk /dev/sda: 8589 MB, 8589934592
    bytes

  3. 255 heads, 63 sectors/track, 1044
    cylinders

  4. Units = cylinders of 16065 * 512 =
    8225280 bytes

  5. Sector size (logical/physical): 512
    bytes / 512 bytes

  6. I/O size (minimum/optimal): 512 bytes /
    512 bytes

  7. Disk identifier: 0x000ec58f

  8.  

  9.    Device Boot Start End Blocks Id
    System

  10. /dev/sda1 * 1 26 204800 83 Linux

  1. Partition 1 does not end on cylinder
    boundary.

  2. /dev/sda2 26 91 524288 82 Linux swap /
    Solaris

  3. Partition 2 does not end on cylinder
    boundary.

  4. /dev/sda3 91 1045 7658496 83 Linux

方法一:

磁盘容量=512*扇区数*磁道数*磁头数

每个磁道的大小=512*扇区数

一个盘面的大小=512*扇区数*磁道数

方法二:

磁盘容量=柱面数*柱面大小

柱面数=磁道数

柱面大小=磁道大小*磁头数

磁道大小=512*扇区数

  1. [root@oldboylinux ~]# fdisk -l
    /dev/sda1

  2.  

  3. Disk /dev/sda1: 209 MB, 209715200 bytes

  1. 255 heads, 63 sectors/track, 25
    cylinders

  2. Units = cylinders of 16065 * 512 =
    8225280 bytes

  3. Sector size (logical/physical): 512
    bytes / 512 bytes

  4. I/O size (minimum/optimal): 512 bytes /
    512 bytes

  5. Disk identifier: 0x00000000

磁头数:255 heads,扇区数:63sectors/track,柱面数:25cylinders。

磁盘大小=512*扇区数*磁道数*磁头数=512*255*63*25=205632000 bytes

机械磁盘读写原理

1、磁盘是按照柱面为单位读写数据的,即先读取同一个盘面的某一个磁道,读完之后,如果数据没有读完,磁头也不会切换其他的磁道,而是选择切换磁头,读取下一个盘面的相同半径的磁道,直到所有盘面的相同半径的磁道读取完成之后,如果数据还没有读写完成,才会切换到其他不同半径的磁道,这个切换磁道的过程称为寻道。

2、不同磁头间的切换是电子切换,而不同磁道间的切换需要磁头做径向运动,这个径向运动需要步进电机调节,这个动作是机械的切换。

磁盘分区

磁盘存储逻辑结构

图片 2

一个硬盘的存储结构包括主引导记录、分区表、分区结束标志,及其它分区的引导信息及数据区信息。

主引导扇区在整个硬盘里是唯一的,也就是一个硬盘只能有一个,下面是0磁道1扇区的放大图示。

图片 3

16字节分区表的内容

字节数

说明

1bytes

state:分区状态,0=未激活,0x80=激活。

1bytes

startHead:分区起始磁头号

2bytes

startSC:分区起始扇区和柱面号,低字节的低6位为扇区号,高2位为柱面号的第9,10位,高字节为柱面号的低8位。

1bytes

type:分区类型,如0x0B=FAT32,0x83=linux等,00表示此项未用

1bytes

endHead:分区结束磁头号

2bytes

endSC:分区结束扇区和柱面号

4bytes

Relative:线性寻址方式下分区相对扇区地址(对于基本分区即为绝对地址)

4bytes

sectors:分区大小(总扇区数)

备份与恢复MBR

  1. [root@oldboylinux ~]# dd if=/dev/sda of=mbr.bin bs=512 count=1
    #备份MBR

  2. 1+0 records in

  3. 1+0 records out

  4. 512 bytes (512 B) copied, 0.000217105
    s, 2.4 MB/s

  5. [root@oldboylinux ~]# od -xa mbr.bin
    #查看MBR

  6. 0000000 48eb 1090 d08e 00bc b8b0 0000
    d88e c08e

  7.           k H dle dle so P < nul 0 8
    nul nul so X so @

  8. 0000020 befb 7c00 00bf b906 0200 a4f3
    21ea 0006

  9.           { > nul | ? nul ack 9 nul
    stx s $ j ! ack nul

  10. 0000040 be00 07be 0438 0b75 c683 8110
    fefe 7507

  11.         nul > > bel 8 eot u vt
    etx F dle soh ~ ~ bel u

  12. 0000060 ebf3 b416 b002 bb01 7c00 80b2
    748a 0203

  13.           s k syn 4 stx 0 soh ; nul | 2
    nul nl t etx stx

  14. 0000100 0080 8000 8176 0000 0800 90fa
    f690 80c2

  15.         nul nul nul nul v soh nul nul
    nul bs z dle dle v B nul

  16. 0000120 0275 80b2 59ea 007c 3100 8ec0
    8ed8 bcd0

  17.           u stx 2 nul j Y | nul nul 1 @
    so X so P <

  18. 0000140 2000 a0fb 7c40 ff3c 0274 c288
    f652 80c2

  19.         nul sp { sp @ | < del t stx
    bs B R v B nul

  20. 0000160 5474 41b4 aabb cd55 5a13 7252
    8149 55fb

  21.           t T 4 A ; * U M dc3 Z R r I
    soh { U

  22. 0000200 75aa a043 7c41 c084 0575 e183
    7401 6637

  23.           * u C sp A | eot @ u enq etx
    a soh t 7 f

  24. 0000220 4c8b be10 7c05 44c6 01ff 8b66
    441e c77c

  25.          vt L dle > enq | F D del
    soh f vt rs D | G

  26. 0000240 1004 c700 0244 0001 8966 085c
    44c7 0006

  27.         eot dle nul G D stx soh nul f
    ht \ bs G D ack nul

  28. 0000260 6670 c031 4489 6604 4489 b40c
    cd42 7213

  29.           p f 1 @ ht D eot f ht D ff 4
    B M dc3 r

  30. 0000300 bb05 7000 7deb 08b4 13cd 0a73
    c2f6 0f80

  31.         enq ; nul p k } 4 bs M dc3 s nl
    v B nul si

  32. 0000320 f084 e900 008d 05be c67c ff44
    6600 c031

  33.         eot p nul i cr nul > enq | F
    D del nul f 1 @

  34. 0000340 f088 6640 4489 3104 88d2 c1ca
    02e2 e888

  35.          bs p @ f ht D eot 1 R bs J A b
    stx bs h

  36. 0000360 f488 8940 0844 c031 d088 e8c0
    6602 0489

  37.          bs t @ ht D bs 1 @ bs P @ h
    stx f ht eot

  38. 0000400 a166 7c44 3166 66d2 34f7 5488
    660a d231

  39.           f ! D | f 1 R f w 4 bs T nl f
    1 R

  40. 0000420 f766 0474 5488 890b 0c44 443b
    7d08 8a3c

  41.           f w t eot bs T vt ht D ff ; D
    bs } < nl

  42. 0000440 0d54 e2c0 8a06 0a4c c1fe d108
    6c8a 5a0c

  43.           T cr @ b ack nl L nl ~ A bs Q
    nl l ff Z

  44. 0000460 748a bb0b 7000 c38e db31 01b8
    cd02 7213

  45.          nl t vt ; nul p so C 1 [ 8
    soh stx M dc3 r

  46. 0000500 8c2a 8ec3 4806 607c b91e 0100
    db8e f631

  47.           * ff C so ack H | ` rs 9
    nul soh so [ 1 v

  48. 0000520 ff31 f3fc 1fa5 ff61 4226 be7c
    7d7f 40e8

  49.           1 del | s % us a del & B
    | > del } h @

  50. 0000540 eb00 be0e 7d84 38e8 eb00 be06
    7d8e 30e8

  51.         nul k so > eot } h 8 nul k
    ack > so } h 0

  52. 0000560 be00 7d93 2ae8 eb00 47fe 5552
    2042 4700

  53.         nul > dc3 } h * nul k ~ G R
    U B sp nul G

  54. 0000600 6f65 006d 6148 6472 4420 7369
    006b 6552

  55.           e o m nul H a r d sp D i s k
    nul R e

  56. 0000620 6461 2000 7245 6f72 0072 01bb
    b400 cd0e

  57.           a d nul sp E r r o r nul ;
    soh nul 4 so M

  58. 0000640 ac10 003c f475 00c3 0000 0000
    0000 0000

  59.         dle , < nul u t C nul nul
    nul nul nul nul nul nul nul

  60. 0000660 0000 0000 0000 0000 c58f 000e
    0000 2080

  61.         nul nul nul nul nul nul nul nul
    si E so nul nul nul nul sp

  62. 0000700 0021 9f83 1906 0800 0000 4000
    0006 9f00

  63.           ! nul etx us ack em nul bs
    nul nul nul @ ack nul nul us

  64. 0000720 1907 e482 5a0a 4800 0006 0000
    0010 e400

  65.         bel em stx d nl Z nul H ack nul
    nul nul dle nul nul d

  66. 0000740 5a0b fe83 ffff 4800 0016 b800
    00e9 0000

  67.          vt Z etx ~ del del nul H syn
    nul nul 8 i nul nul nul

  68. 0000760 0000 0000 0000 0000 0000 0000
    0000 aa55

  69.         nul nul nul nul nul nul nul nul
    nul nul nul nul nul nul U *

  70. 0001000

  71. [root@oldboylinux ~]# dd if=mbr.bin of=/dev/sda bs=512 count=1
    #恢复MBR

磁盘分区

1、磁盘分区的实质就是针对0磁头0磁道1扇区的前446字节后面接下来的64bytes的分区表进行设置,即主要是划分起始以及结束磁头号,及扇区号和柱面号。

2、分区工具有fdisk(适合小于2T的磁盘分区),parted(适合大于2T的磁盘分区,可以对小于2T的磁盘分区),fdisk首选,只有大于2T时才会选parted。

3、一块磁盘的分区表仅有64bytes大小,每个分区表要占用16字节,因此一块磁盘仅支持四个分区表信息,即主分区+扩展分区的总量不超过4个。

4、磁盘分区是按照柱面(cylinder)来划分的。

5、扩展分区不能直接使用的,还需要在扩展分区的基础上创建逻辑分区。

6、扩展分区有自己的分区表,因此扩展分区下面的逻辑分区可以有多个。

磁盘在使用前一般需要进行分区,当然如果不分区直接格式化使用也可以,但这不是常见情况。磁盘分区有主分区、扩展分区和逻辑分区。一块硬盘最多可以有4个分区表信息(磁盘本身限制),其中一个主分区的位置可以用一个扩展分区替换,且一块硬盘只能有一个扩展分区(操作系统限制),在这个扩展分区中可以划分多个逻辑分区(IDE磁盘分区编号大概5-63),SATA(编号5-15)。

一台服务器6块600G的磁盘,raid5后,总大小3T,次数无法装系统。解决办法是做raid5后,不要直接重启装系统,而是再raid界面,继续分一个小的虚拟磁盘vd
200G,用这个200G的虚拟磁盘装系统,装完系统后再把剩余的2.8T通过parted分区。

主分区primary

主分区是磁盘上必须存在的分区,一般为磁盘的第一个分区。在一个磁盘上最多只能有4个主分区。

一个磁盘想分6个分区,主分区和扩展分区的数量:

1p+1e,2p+1e,3p+1e。

扩展分区Extended

扩展分区就像一个虚拟出来的一个小硬盘一样,但是不同的是没有MBR,而只有扩展分区表,而且这个扩展分区表示没有64bytes的限制的,所以可以在扩展分区上划分多个逻辑分区。一块磁盘只能存放一个扩展分区,并且扩展分区不能直接存放数据,扩展分区受限于操作系统。

逻辑分区logical

不能在磁盘中单独直接划分逻辑分区(fdisk),逻辑分区必须存在于扩展分区内。在扩展分区内可以划分多个逻辑分区,逻辑分区的编号从数字5开始。在这个扩展分区内可以划分多个逻辑分区(IDE磁盘大概编号可以是5-63)。

磁盘分区注意事项

1、任意多个主分区,但要求1<=主分区数量<=4。

例如,一个硬盘可以分为4个主分区、3个主分区、2个主分区、1个主分区。

2、扩展分区可以和主分区组合,但要求2<=(主分区+扩展分区)<=4。

例如:3个主分区+1个扩展分区、2个主分区+1个扩展分区或1个主分区+1个扩展分区。当总分区的数量大于4个的时候,必须提前分一个扩展分区。

3、如果要分成四个磁盘分区的话,那么分区方式可以为p+p+p+p或p+p+p+e。

注意:

由于MBR及磁盘分区表大小的限制,如果对磁盘分配了4p或3p+e后,即使磁盘还有剩余未分的空间,那么这部分空间也无法分区使用了(因为无分区可分了,分区表空间已经被沾满)。因此,在做分区规划时,如果业务需要,在分区之前就已经明确要超过4个分区,就可以选择3p+e的分区方式,并且在最后一个扩展分区要将所有的剩余空间都分配给这个扩展分区。当然,也可以采用1p+1e、2p+1e的分区方式,其实就是主分区不能分完,保留不分。

说明:

1、扩展分区不是一个真正的可用分区,建立完扩展分区后,还需要在扩展分区上面建立逻辑分区才可以使用。

2、对于主分区和逻辑分区在一本的数据存储使用上是没有区别的(对于大多数的数据存储),在安装操作系统时第一个分区要选主分区。

3、分区数字编号1-4留给主分区或扩展分区使用,逻辑分区编号只能从5开始,即使1-4分区号有剩余,也不会分配给逻辑分区。

4、对硬盘分区,实际上就是修改硬盘的分区表(partition
table),也就是说可以通过fdisk分区实际上就是在修改64字节的分区表,分区对应的数据没有关系。因此,理论上调整分区大小,不会删除分区内的数据。

分区方案

方案一:集群结构中的某个节点,数据有多份或者不重要。

/boot 100MB linux引导程序

swap 物理内存的1.5倍,当内存大于等于8G时,给8G即可。

/ 剩余硬盘大小

方法二:数据库及存储,有大量重要数据

/boot 100MB

/ 50-200G

swap 物理内存的1.5倍,当内存大于等于8G时,给8G即可。

/data 剩余硬盘大小,放数据库及存储数据。

方案三:门户级别或大网站

/boot 100MB

swap 物理内存的1.5倍,当内存大于等于8G时,给8G即可。

/ 50-200G

剩余空间保留,不再进行分区,将来分给别的需要的部门。

硬盘分区的设备名

在linux系统中,是通过设备名来访问设备的,设备名存放在”/dev”目录中。

设备名称的定义规则如下,其他的分区依次类推:

系统的第一块IDE接口的硬盘:/dev/hda

系统的第二块IDE接口的硬盘:/dev/hdb

系统的第一块SCSI接口的硬盘:/dev/sda

系统的第二块SCSI接口的硬盘:/dev/sdb

SATA、SAS都是sd开头。

每个分区则使用磁盘名称加对应的数字编号表示:

系统的第一块IDE接口硬盘的第一个分区:/dev/hda1

系统的第一块IDE接口硬盘的第五个分区:/dev/hda5

系统的第二块SCSI接口硬盘的第一个分区:/dev/sdb1

系统的第二块SCSI接口硬盘的第五个分区:/dev/sdb5

注意:

1、分区数字编号1-4留给主分区或扩展分区使用,逻辑分区编号只能从5开始。

2、IDE硬盘设备名均以/dev/hd开头,不同硬盘编号依次是/dev/hda/、/dev/hdb、/dev/hdc…。

3、SCSI/SAS/SATA/USB接口硬盘的设备名均以/dev/sd开头。不同硬盘编号依次是/dev/sda、/dev/sdb、/dev/sdc…。

4、特别注意,SAS/SATA为当前互联网生产环境主流硬盘接口,SSD固态硬盘,由于是电子设备,性能很高,也逐渐被应用。

5、linux环境下没有盘符的概念。要对磁盘设备进行操作,需要使用磁盘设备名,读取磁盘设备内容,需要把创建的分区或逻辑卷上的文件系统挂载到指定的目录上。

6、在linux系统上划分了分区之后,还要在分区上创建文件系统。

文件系统类型

文件系统是对一个存储设备上的数据和元数据进行组织的一种机制。文件系统是在一个磁盘(包括光盘、软盘、闪盘及其它存储设备)或分区上组织文件的方式和方法,常见文件系统如ext2、ext3、ext4、NTFS、FAT、FAT32等。文件系统是组织存储文件或数据的方法,目的是易于查询和存取数据。因此,如果磁盘上没有文件系统也就无法存储数据了,因此,在磁盘分区后能够使用之前必须建立对应的文件系统才行。

文件系统是基于存储设备的,比如硬盘或光盘,并且包含文件物理位置的维护,文件系统也可以说是虚拟数据或网络数据存储的方法,比如NFS、MFS、GFS。目前unix、linux的文件系统有很多种实现,例如:UFS(基于BSD的unix文件系统)、ext2、ext3、ext4、zfs、xfs和reiserfs等。

注意:

1、文件系统是对一个存储设备上的数据和元数据进行组织的一种机制。

2、分区必须格式化创建文件系统才能存放数据。

3、一个分区只能有一种文件系统。

4、linux下常见文件系统ext2、ext3、ext4、zfs、xfs(CentOS7)和reiserfs(单独安装)。windows下常见文件系统NTFS、FAT32。

文件系统的选择

SAS、SATA银盘文件系统选择:

1、reiserfs:大量小文件业务首选reiserfs(100k以内)

2、xfs:有的门户的数据块mysql业务。

4、ext4:视频下载、流媒体、数据库、小文件业务。

5、ext2:没有日志,CDN网站加速服务。

常用应用:

CentOS5.x系统:默认ext3。

CentOS6.x系统:默认ext4。

CentOS7.x系统:默认xfs。

SSD文件系统选择

ext4、reiserfs可以作为SSD文件系统,但未对SSD做优化,不能充分发挥SSD性能,并影响SSD使用时间。

btrfs对SSD作了优化,mount通过参数启用。但btrfs仍处于试验阶段,生产环境谨慎使用。

jffs32、nilfs2、yaffs是常用的flash file
system,在嵌入式环境广泛应用,建议使用。

在linux中制作文件系统

用类似如下命令在linux中制作并优化reiserfs文件系统:

/sbin/mkreiserfs /dev/sda2

用类似如下命令在linux中制作xfs文件系统:

mkfs -t xfs -f /dev/sda2

注意:ext3fs其实是简单的激活了记账的ext2fs。当创建该文件系统时,对mke2fs使用-j选项:

/sbin/mke2fs -j /dev/sda2

查看目前支持的文件系统

  1. [root@oldboylinux ~]# ls
    /lib/modules/2.6.32-504.el6.x86_64/kernel/fs/

  2. autofs4 cramfs ext3 gfs2 mbcache.ko
    squashfs

  3. btrfs dlm ext4 jbd nfs ubifs

  4. cachefiles ecryptfs fat jbd2
    nfs_common udf

  5. cifs exportfs fscache jffs2 nfsd xfs

  1. configfs ext2 fuse lockd nls

文件系统内部

  1. [root@oldboylinux ~]# dumpe2fs
    /dev/sda

  2. dumpe2fs 1.41.12 (17-May-2010)

  3. dumpe2fs: Bad magic number in super-block while trying to open /dev/sda

  4. Couldn’t find valid filesystem
    superblock.

  5. [root@oldboylinux ~]# dumpe2fs
    /dev/sda1

  6. dumpe2fs 1.41.12 (17-May-2010)

  7. Filesystem volume name: <none>

  1. Last mounted on: /boot

  2. Filesystem UUID:
    16664a83-1118-495f-af51-363c9f6fb6e0

  3. Filesystem magic number: 0xEF53

  4. Filesystem revision #: 1 (dynamic)

  1. Filesystem features: has_journal
    ext_attr resize_inode dir_index filetype needs_recovery extent
    flex_bg sparse_super huge_file uninit_bg dir_nlink extra_isize
  1. Filesystem flags:
    signed_directory_hash

  2. Default mount options: user_xattr acl

  1. Filesystem state: clean

  2. Errors behavior: Continue

  3. Filesystem OS type: Linux

  4. Inode count: 51200

  5. Block count: 204800

  6. Reserved block count: 10240

  7. Free blocks: 166642

  8. Free inodes: 51162

  9. First block: 1

  10. Block size: 1024

  11. Fragment size: 1024

  12. Reserved GDT blocks: 256

  13. Blocks per group: 8192

  14. Fragments per group: 8192

  15. Inodes per group: 2048

  16. Inode blocks per group: 256

  17. Flex block group size: 16

  18. Filesystem created: Fri Dec 16 22:02:58
    2016

  19. Last mount time: Sat Jan 7 08:51:29
    2017

  20. Last write time: Sat Jan 7 08:51:29
    2017

  21. Mount count: 28

  22. Maximum mount count: -1

  23. Last checked: Fri Dec 16 22:02:58 2016

  24. Check interval: 0 (<none>)

  1. Lifetime writes: 36 MB

  2. Reserved blocks uid: 0 (user root)

  1. Reserved blocks gid: 0 (group root)
  1. First inode: 11

  2. Inode size: 128

  3. Journal inode: 8

  4. Default directory hash: half_md4

  1. Directory Hash Seed:
    5c41ba8b-25c4-49f3-ab7e-e14d96dca193

  2. Journal backup: inode blocks

  3. Journal features: (none)

  4. Journal size: 4096k

  5. Journal length: 4096

  6. Journal sequence: 0x00000025

  7. Journal start: 0

超级块:记录文件系统的控制与管理信息(Group0以前的信息)。

1、block和inode的个数和大小,及其已用和未用的数量。

2、文件系统的载入时间、最近一次写入数据时间、最近一次执行fsck进行磁盘检查的时间等。

3、有效位:0已载入,1位载入。

组描述:记录本块组从何处开始

块位示图:使用位示图记录哪些块已用哪些块未用。

inode位示图:使用位示图记录inode的使用情况。

inode区:各个inode组成的区域,每个inode都有一个唯一编号。

数据块区:各个block组成的区域,用于存储文件数据。

磁盘分区

添加一块磁盘创建6个分区

1p+1e(5L):/dev/sdb1,/dev/sdb5,/dev/sdb6,/dev/sdb7,dev/sdb8,dev/deb9

分区:设置分区表

格式化:创建文件系统

查看磁盘信息

  1. [root@oldboylinux ~]# fdisk -l
  1.  

  2. Disk /dev/sda: 8589 MB, 8589934592
    bytes

  3. 255 heads, 63 sectors/track, 1044
    cylinders

  4. Units = cylinders of 16065 * 512 =
    8225280 bytes

  5. Sector size (logical/physical): 512
    bytes / 512 bytes

  6. I/O size (minimum/optimal): 512 bytes /
    512 bytes

  7. Disk identifier: 0x000ec58f

  8.  

  9.    Device Boot Start End Blocks Id
    System

  10. /dev/sda1 * 1 26 204800 83 Linux

  1. Partition 1 does not end on cylinder
    boundary.

  2. /dev/sda2 26 91 524288 82 Linux swap /
    Solaris

  3. Partition 2 does not end on cylinder
    boundary.

  4. /dev/sda3 91 1045 7658496 83 Linux

  1.  

  2. Disk /dev/sdb: 1073 MB, 1073741824
    bytes

  3. 255 heads, 63 sectors/track, 130
    cylinders

  4. Units = cylinders of 16065 * 512 =
    8225280 bytes

  5. Sector size (logical/physical): 512
    bytes / 512 bytes

  6. I/O size (minimum/optimal): 512 bytes /
    512 bytes

  7. Disk identifier: 0x00000000

 

  1. [root@oldboylinux ~]# fdisk -cu
    /dev/sdb

  2. Device contains neither a valid DOS
    partition table, nor Sun, SGI or OSF disklabel

  3. Building a new DOS disklabel with disk identifier
    0xf7a4dd89.

  4. Changes will remain in memory only, until you decide to write
    them.

  5. After that, of course, the previous
    content won’t be recoverable.

  6.  

  7. Warning: invalid flag 0x0000 of
    partition table 4 will be corrected by w(rite)

  8.  

  9. Command (m for help): m #查看帮助

  10. Command action

  11.    a toggle a bootable flag

  12.    b edit bsd disklabel

  13.    c toggle the dos compatibility flag

  1.    d delete a partition
    #删除创建的分区

  2.    l list known partition types
    #列出分区类型

  3.    m print this menu #查看帮助

  4.    n add a new partition #创建分区

  5.    o create a new empty DOS partition table

  6.    p print the partition table
    #查看分区

  7.    q quit without saving changes
    #退出,不保存

  8.    s create a new empty Sun disklabel

  9.    t change a partition’s system id
    #更改分区的系统id

  10.    u change display/entry units

  11.    v verify the partition table

  12.    w write table to disk and exit
    #保存,写入分区表

  13.    x extra functionality (experts only)

  1. Command (m for help):

 

  1. Command (m for help): p #查看分区情况

  2.  

  3. Disk /dev/sdb: 1073 MB, 1073741824
    bytes

  4. 255 heads, 63 sectors/track, 130
    cylinders, total 2097152 sectors

  5. Units = sectors of 1 * 512 = 512 bytes

  1. Sector size (logical/physical): 512
    bytes / 512 bytes

  2. I/O size (minimum/optimal): 512 bytes /
    512 bytes

  3. Disk identifier: 0xf7a4dd89

  4.  

  5.    Device Boot Start End Blocks Id
    System #没有分区信息

  6.  

  7. Command (m for help): n #创建分区

  8. Command action

  9.    e extended

  10.    p primary partition (1-4)

  11. p #选择分区类型

  12. Partition number (1-4): 1
    #选择分区标号

  13. First sector (2048-2097151, default 2048): #扇区

  14. Using default value 2048

  15. Last sector, +sectors or +size{K,M,G}
    (2048-2097151, default 2097151):
    +100M #指定大小

  16.  

  17. Command (m for help): p #查看分区情况

  18.  

  19. Disk /dev/sdb: 1073 MB, 1073741824
    bytes

  20. 255 heads, 63 sectors/track, 130
    cylinders, total 2097152 sectors

  21. Units = sectors of 1 * 512 = 512 bytes

  1. Sector size (logical/physical): 512
    bytes / 512 bytes

  2. I/O size (minimum/optimal): 512 bytes /
    512 bytes

  3. Disk identifier: 0xf7a4dd89

  4.  

  5.    Device Boot Start End Blocks Id
    System #目前的分区情况

  6. /dev/sdb1 2048 206847 102400 83 Linux

  1.  

  2. Command (m for help):

 

  1. Command (m for help): n #创建分区

  2. Command action

  3.    e extended

  4.    p primary partition (1-4)

  5. e #选择分区类型

  6. Partition number (1-4): 2
    #选择分区标号

  7. First sector (206848-2097151, default 206848):

  8. Using default value 206848

  9. Last sector, +sectors or +size{K,M,G}
    (206848-2097151, default 2097151):
    #默认全部大小

  10. Using default value 2097151

  11.  

  12. Command (m for help): p #查看分区情况

  13.  

  14. Disk /dev/sdb: 1073 MB, 1073741824
    bytes

  15. 255 heads, 63 sectors/track, 130
    cylinders, total 2097152 sectors

  16. Units = sectors of 1 * 512 = 512 bytes

  1. Sector size (logical/physical): 512
    bytes / 512 bytes

  2. I/O size (minimum/optimal): 512 bytes /
    512 bytes

  3. Disk identifier: 0xf7a4dd89

  4.  

  5.    Device Boot Start End Blocks Id
    System

  6. /dev/sdb1 2048 206847 102400 83 Linux

  1. /dev/sdb2 206848 2097151 945152 5
    Extended #扩展分区

  2.  

  3. Command (m for help):

 

  1. Command (m for help): n

  2. Command action

  3.    l logical (5 or over)

  4.    p primary partition (1-4)

  5. p

  6. Partition number (1-4): 3

  7. No free sectors available #没有扇区

  1.  

  2. Command (m for help):

 

  1. Command (m for help): n

  2. Command action

  3.    l logical (5 or over)

  4.    p primary partition (1-4)

  5. l #逻辑分区

  6. First sector (208896-2097151, default 208896):

  7. Using default value 208896

  8. Last sector, +sectors or +size{K,M,G}
    (208896-2097151, default 2097151):
    +10M #指定大小

  9.  

  10. Command (m for help): p

  11.  

  12. Disk /dev/sdb: 1073 MB, 1073741824
    bytes

  13. 255 heads, 63 sectors/track, 130
    cylinders, total 2097152 sectors

  14. Units = sectors of 1 * 512 = 512 bytes

  1. Sector size (logical/physical): 512
    bytes / 512 bytes

  2. I/O size (minimum/optimal): 512 bytes /
    512 bytes

  3. Disk identifier: 0xf7a4dd89

  4.  

  5.    Device Boot Start End Blocks Id
    System

  6. /dev/sdb1 2048 206847 102400 83 Linux

  1. /dev/sdb2 206848 2097151 945152 5
    Extended

  2. /dev/sdb5 208896 229375 10240 83 Linux
    #逻辑分区

  3.  

  4. Command (m for help):

 

  1. Command (m for help): n

  2. Command action

  3.    l logical (5 or over)

  4.    p primary partition (1-4)

  5. l

  6. First sector (231424-2097151, default 231424):

  7. Using default value 231424

  8. Last sector, +sectors or +size{K,M,G}
    (231424-2097151, default 2097151):
    +10M

  9.  

  10. Command (m for help): p

  11.  

  12. Disk /dev/sdb: 1073 MB, 1073741824
    bytes

  13. 255 heads, 63 sectors/track, 130
    cylinders, total 2097152 sectors

  14. Units = sectors of 1 * 512 = 512 bytes

  1. Sector size (logical/physical): 512
    bytes / 512 bytes

  2. I/O size (minimum/optimal): 512 bytes /
    512 bytes

  3. Disk identifier: 0xf7a4dd89

  4.  

  5.    Device Boot Start End Blocks Id
    System

  6. /dev/sdb1 2048 206847 102400 83 Linux

  1. /dev/sdb2 206848 2097151 945152 5
    Extended

  2. /dev/sdb5 208896 229375 10240 83 Linux

  1. /dev/sdb6 231424 251903 10240 83 Linux
  1.  

  2. Command (m for help):

 

  1. Command (m for help): d #删除

  2. Partition number (1-6): 5 #指定标号

  1.  

  2. Command (m for help): p

  3.  

  4. Disk /dev/sdb: 1073 MB, 1073741824
    bytes

  5. 255 heads, 63 sectors/track, 130
    cylinders, total 2097152 sectors

  6. Units = sectors of 1 * 512 = 512 bytes

  1. Sector size (logical/physical): 512
    bytes / 512 bytes

  2. I/O size (minimum/optimal): 512 bytes /
    512 bytes

  3. Disk identifier: 0xf7a4dd89

  4.  

  5.    Device Boot Start End Blocks Id
    System

  6. /dev/sdb1 2048 206847 102400 83 Linux

  1. /dev/sdb2 206848 2097151 945152 5
    Extended

  2. /dev/sdb5 231424 251903 10240 83 Linux
    #/dev/sdb6变为/dev/sdb5

  3. Command (m for help):

最后分区情况

  1. Command (m for help): p

  2.  

  3. Disk /dev/sdb: 1073 MB, 1073741824
    bytes

  4. 255 heads, 63 sectors/track, 130
    cylinders, total 2097152 sectors

  5. Units = sectors of 1 * 512 = 512 bytes

  1. Sector size (logical/physical): 512
    bytes / 512 bytes

  2. I/O size (minimum/optimal): 512 bytes /
    512 bytes

  3. Disk identifier: 0xf7a4dd89

  4.  

  5.    Device Boot Start End Blocks Id
    System

  6. /dev/sdb1 2048 206847 102400 83 Linux

  1. /dev/sdb2 206848 2097151 945152 5
    Extended

  2. /dev/sdb5 208896 229375 10240 83 Linux

  1. /dev/sdb6 231424 253951 11264 83 Linux
  1. /dev/sdb7 256000 280575 12288 83 Linux
  1. /dev/sdb8 282624 309247 13312 83 Linux
  1. /dev/sdb9 311296 2097151 892928 83
    Linux

  2.  

  3. Command (m for help):

列出类型

  1. Command (m for help): l

  2.  

  3.  0 Empty 24 NEC DOS 81 Minix / old Lin
    bf Solaris

  4.  1 FAT12 39 Plan 9 82 Linux swap / So
    c1 DRDOS/sec (FAT-

  5.  2 XENIX root 3c PartitionMagic 83
    Linux c4 DRDOS/sec (FAT-

  6.  3 XENIX usr 40 Venix 80286 84 OS/2
    hidden C: c6 DRDOS/sec (FAT-

  7.  4 FAT16 <32M 41 PPC PReP Boot 85
    Linux extended c7 Syrinx

  8.  5 Extended 42 SFS 86 NTFS volume set da Non-FS data

  9.  6 FAT16 4d QNX4.x 87 NTFS volume set db CP/M / CTOS / .

  10.  7 HPFS/NTFS 4e QNX4.x 2nd part 88
    Linux plaintext de Dell Utility

  11.  8 AIX 4f QNX4.x 3rd part 8e Linux LVM
    df BootIt

  12.  9 AIX bootable 50 OnTrack DM 93 Amoeba
    e1 DOS access

  13.  a OS/2 Boot Manag 51 OnTrack DM6 Aux
    94 Amoeba BBT e3 DOS R/O

  14.  b W95 FAT32 52 CP/M 9f BSD/OS e4
    SpeedStor

  15.  c W95 FAT32 (LBA) 53 OnTrack DM6 Aux
    a0 IBM Thinkpad hi eb BeOS fs

  16.  e W95 FAT16 (LBA) 54 OnTrackDM6 a5
    FreeBSD ee GPT

  17.  f W95 Ext’d (LBA) 55 EZ-Drive a6
    OpenBSD ef EFI (FAT-12/16/

  18. 10 OPUS 56 Golden Bow a7 NeXTSTEP f0
    Linux/PA-RISC b

  19. 11 Hidden FAT12 5c Priam Edisk a8
    Darwin UFS f1 SpeedStor

  20. 12 Compaq diagnost 61 SpeedStor a9
    NetBSD f4 SpeedStor

  21. 14 Hidden FAT16 <3 63 GNU HURD or
    Sys ab Darwin boot f2 DOS secondary

  22. 16 Hidden FAT16 64 Novell Netware af
    HFS / HFS+ fb VMware VMFS

  23. 17 Hidden HPFS/NTF 65 Novell Netware b7
    BSDI fs fc VMware VMKCORE

  24. 18 AST SmartSleep 70 DiskSecure Mult b8
    BSDI swap fd Linux raid auto

  25. 1b Hidden W95 FAT3 75 PC/IX bb Boot
    Wizard hid fe LANstep

  26. 1c Hidden W95 FAT3 80 Old Minix be
    Solaris boot ff BBT

  27. 1e Hidden W95 FAT1

  28.  

  29. Command (m for help):

 

  1. Command (m for help): t #调整分区类型

  2. Partition number (1-9): 9
    #指定需要调整分区的编号

  3. Hex code (type L to list codes): L
    #列出分区类型

  4.  

  5.  0 Empty 24 NEC DOS 81 Minix / old Lin
    bf Solaris

  6.  1 FAT12 39 Plan 9 82 Linux swap / So
    c1 DRDOS/sec (FAT-

  7.  2 XENIX root 3c PartitionMagic 83
    Linux c4 DRDOS/sec (FAT-

  8.  3 XENIX usr 40 Venix 80286 84 OS/2
    hidden C: c6 DRDOS/sec (FAT-

  9.  4 FAT16 <32M 41 PPC PReP Boot 85
    Linux extended c7 Syrinx

  10.  5 Extended 42 SFS 86 NTFS volume set da Non-FS data

  11.  6 FAT16 4d QNX4.x 87 NTFS volume set db CP/M / CTOS / .

  12.  7 HPFS/NTFS 4e QNX4.x 2nd part 88
    Linux plaintext de Dell Utility

  13.  8 AIX 4f QNX4.x 3rd part 8e Linux LVM
    df BootIt

  14.  9 AIX bootable 50 OnTrack DM 93 Amoeba
    e1 DOS access

  15.  a OS/2 Boot Manag 51 OnTrack DM6 Aux
    94 Amoeba BBT e3 DOS R/O

  16.  b W95 FAT32 52 CP/M 9f BSD/OS e4
    SpeedStor

  17.  c W95 FAT32 (LBA) 53 OnTrack DM6 Aux
    a0 IBM Thinkpad hi eb BeOS fs

  18.  e W95 FAT16 (LBA) 54 OnTrackDM6 a5
    FreeBSD ee GPT

  19.  f W95 Ext’d (LBA) 55 EZ-Drive a6
    OpenBSD ef EFI (FAT-12/16/

  20. 10 OPUS 56 Golden Bow a7 NeXTSTEP f0
    Linux/PA-RISC b

  21. 11 Hidden FAT12 5c Priam Edisk a8
    Darwin UFS f1 SpeedStor

  22. 12 Compaq diagnost 61 SpeedStor a9
    NetBSD f4 SpeedStor

  23. 14 Hidden FAT16 <3 63 GNU HURD or
    Sys ab Darwin boot f2 DOS secondary

  24. 16 Hidden FAT16 64 Novell Netware af
    HFS / HFS+ fb VMware VMFS

  25. 17 Hidden HPFS/NTF 65 Novell Netware b7
    BSDI fs fc VMware VMKCORE

  26. 18 AST SmartSleep 70 DiskSecure Mult b8
    BSDI swap fd Linux raid auto

  27. 1b Hidden W95 FAT3 75 PC/IX bb Boot
    Wizard hid fe LANstep

  28. 1c Hidden W95 FAT3 80 Old Minix be
    Solaris boot ff BBT

  29. 1e Hidden W95 FAT1

  30. Hex code (type L to list codes): 8e
    #指定的分区类型

  31. Changed system type of partition 9 to
    8e (Linux LVM)

  32.  

  33. Command (m for help): p #查看分区情况

  34.  

  35. Disk /dev/sdb: 1073 MB, 1073741824
    bytes

  36. 255 heads, 63 sectors/track, 130
    cylinders, total 2097152 sectors

  37. Units = sectors of 1 * 512 = 512 bytes

  1. Sector size (logical/physical): 512
    bytes / 512 bytes

  2. I/O size (minimum/optimal): 512 bytes /
    512 bytes

  3. Disk identifier: 0xf7a4dd89

  4.  

  5.    Device Boot Start End Blocks Id
    System

  6. /dev/sdb1 2048 206847 102400 83 Linux

  1. /dev/sdb2 206848 2097151 945152 5
    Extended

  2. /dev/sdb5 208896 229375 10240 83 Linux

  1. /dev/sdb6 231424 253951 11264 83 Linux
  1. /dev/sdb7 256000 280575 12288 83 Linux
  1. /dev/sdb8 282624 309247 13312 83 Linux
  1. /dev/sdb9 311296 2097151 892928 8e
    Linux LVM #分区类型已经调整

  2.  

  3. Command (m for help): w #写入分区表

  4. The partition table has been altered!

  1.  

  2. Calling ioctl() to re-read partition
    table.

  3. Syncing disks.

通知linux分区表的变化(否则需要重启系统才能看到变化)

  1. [root@oldboylinux ~]# partprobe
    /dev/sdb

查看结果

  1. [root@oldboylinux ~]# fdisk -l
  1.  

  2. Disk /dev/sda: 8589 MB, 8589934592
    bytes

  3. 255 heads, 63 sectors/track, 1044
    cylinders

  4. Units = cylinders of 16065 * 512 =
    8225280 bytes

  5. Sector size (logical/physical): 512
    bytes / 512 bytes

  6. I/O size (minimum/optimal): 512 bytes /
    512 bytes

  7. Disk identifier: 0x000ec58f

  8.  

  9.    Device Boot Start End Blocks Id
    System

  10. /dev/sda1 * 1 26 204800 83 Linux

  1. Partition 1 does not end on cylinder
    boundary.

  2. /dev/sda2 26 91 524288 82 Linux swap /
    Solaris

  3. Partition 2 does not end on cylinder
    boundary.

  4. /dev/sda3 91 1045 7658496 83 Linux

  1.  

  2. Disk /dev/sdb: 1073 MB, 1073741824
    bytes

  3. 255 heads, 63 sectors/track, 130
    cylinders

  4. Units = cylinders of 16065 * 512 =
    8225280 bytes

  5. Sector size (logical/physical): 512
    bytes / 512 bytes

  6. I/O size (minimum/optimal): 512 bytes /
    512 bytes

  7. Disk identifier: 0xf7a4dd89

  8.  

  9.    Device Boot Start End Blocks Id
    System

  10. /dev/sdb1 1 13 102400 83 Linux

  11. Partition 1 does not end on cylinder
    boundary.

  12. /dev/sdb2 13 131 945152 5 Extended

  1. Partition 2 does not end on cylinder
    boundary.

  2. /dev/sdb5 14 15 10240 83 Linux

  3. /dev/sdb6 15 16 11264 83 Linux

  4. /dev/sdb7 16 18 12288 83 Linux

  5. /dev/sdb8 18 20 13312 83 Linux

  6. /dev/sdb9 20 131 892928 8e Linux LVM

文件系统的简单操作

磁盘与目录的容量:

df:列出文件系统的整体磁盘使用量。

du:评估文件系统的磁盘使用量(常用于评估目录所占容量)。

1、将容量结果以易读的容量格式显示出来:df -h。

2、将/etc下面的可用的磁盘容量以易读的容量格式显示:df -h /etc。

3、将目前各个分区当做可用的inode数量列出:df -ih。

4、检查根目录下面每个目录所占用的容量:du -sm/*。

连接文件:ln

1、hard
link(硬链接实际链接):只是在某个目录下新建一条文件名链接到某inode号码的关联记录而已。

2、symbolic
link(符号链接,快捷方式):再创建一个独立的文件,而这个文件会让数据的读取指向它链接的那个文件夹的文件名。

3、将/etc/passwd复制到/tmp下面,并且查看inode与block

磁盘格式化:mkfs -t ext3 /dev/sda6

磁盘检查:fsck、badblocks

fsck -C -f -t ext3 /dev/sda6,卸载状态检查。

badblocks -sv /dev/sda6

磁盘挂载与卸载

1、挂载ext2、ext3文件系统

mount /dev/sda6 /mnt

df –h

2、挂载cd或dvd光盘

mkdir /media/cdrom

mount -t iso9660 /dev/cdrom /media/cdrom #-t iso9660这个是光盘的格式

mount /dev/cdrom /media/cdrom #系统自己去测试挂载

df

3、格式化与挂载软盘

mkfs -t vfat /dev/fd0

mkdir /media/floppy

mount -t fat /dev/fd0 /media/floppy

df

4、挂载U盘

mkdir /tmp/flash

mount -t vfat -o iocharset=cp950 /dev/sda1 /tmp/flash

df

5、文件卸载umount

umount /dev/sda6

umount /media/cdrom

umount /tmp/flash

umount /dev/fd0

umount /tmp/home

强制卸载:umount –lf 挂载点

强制卸载nfs案例:

umount:/mnt:device is busy解决办法

当无法卸载nfs挂载目录时,原因及解决办法:

1、可能当前目录就是挂载的nfs目录(/mnt)

解决办法:退出挂载的目录/mnt,再执行卸载。

2、比如nfs server挂了,nfs client会出问题(df -h窗会死掉口)

最好的强制卸载方法umount -lf /mnt。

相关文章