硬盘分区及挂载

标签:文件系统、分区、挂载

一、Linux的基本原则

   1、一切皆文件(包括硬件);这个原则会会在很多方面得到体现; 磁盘在Linux中也表现为文件,即/dev目录下:IDE,ATA:/dev/hd[a-z]    SATA,SCSI,USB,SAS:sd[a-z] 

   2、由从多单一目的小程序组成 

   3、组合小程序完成复杂任务 ;以小聚大,Linux都告诉我们团队有多重要了。

   4、尽可能避免捕获用户接口,为了方便脚本编程以实现自动化执行; 

   5、使用文本文件保存程序的配置数据:使用一个文本编辑器即可完成系统及服务配置工作;

 

二、机械硬盘

磁道:Track,可以理解为一个圆形盘片由许许多多的同心圆组成,每一个同心圆可以认为是一个磁道。(硬盘是一个高速旋转的东西,当磁盘旋转时,磁头若保持在一个位置上不动,则磁头会在磁盘表面划出一个圆形轨迹,这些圆形轨迹就叫做磁道)

扇区:Sector,可以联想到“扇形区域”,磁盘上的每个磁道被等分为若干个弧段,这些弧段便是磁盘的扇区,每个扇区的大小为512个字节,磁盘驱动器在向磁盘读取和写入数据时应该以扇区为单位。扇区并不一定是对齐的,这是因为磁道的同心圆的周长是不同的,而我们的扇区的大小是一样的,这就造成了最外层了0磁道的扇区要比内层的磁道的扇区要多。

柱面:Cylinder,硬盘通常由重叠的一组盘片构成,每个盘面都被划分为数目相等的磁道,并从外缘的0开始编号,具有相同编号的磁道形成一个圆柱,称之为磁盘的柱面。显然,磁盘的柱面数与一个盘面上的磁道数是相等的。

磁头:Head,当然是读取信息用的了。每个盘面都有自己的磁头,如果盘面的双面都记录信息,那么双面都应该有磁头。所以,硬盘的容量计算公式如下:硬盘的容量=柱面数×磁头数×扇区数×512(字节数)

硬盘分区及挂载硬盘分区及挂载

 

 

机械硬盘的0磁道0扇区非常重要,它存放着硬盘主引导记录MBR。也就是说MBR只有512个字节。我们的硬盘是否能够引导启动操作系统就靠它了。

  MBR由三部分构成:

  1.主引导程序代码,占446字节

  2.硬盘分区表DPT,占64字节,没16字节表示一个分区;每个硬盘上最多有四个主分区或者三个主分区一个扩展分区。扩展分区必须再分区后才能够使用。分区也无非就是定义了这个分区是从哪个柱面起始到哪个柱面结束。而在一个分区中柱面可能有很多个于是每个分区内又把这些个柱面划分成一个个的块组来简化管理。

  3.主引导扇区结束标志AA55H

三、文件是怎样被存储的

1、分区创建完成后要再经过高级格式化创建文件系统后才能用来存储文件,linux常用的文件系统有ext2(不支持日志功能)ext3ext4xfsswap(交换分区)。因为我们的Linux系统是单根模式的文件目录树,所以我们分分区必须经过挂载后才能使用,也就是分区与目录建立11的关联关系。

2、磁盘提供给我们最小数据单位扇区对于我们的文件系统还是有些较小,于是文件系统在创建的时候就会把扇区组合划分成一个个的block;大小一般为扇区大小2N次方大小。常用的块大小为102420484096

3、我们的分区是被分成数据区、元数据区、日志区(如果文件系统支持的话)三个部分的

4、元数据区是存放inode数据信息的

     inode内容:文件名,大小,时间戳,权限,属主、属组,对应的数据存储在哪些磁盘块(组)上 ,就是讲我们的文件进行边界划分,区分不通的文件内容,防止文件内容交叉。

    数据区才是真正存放我们数据的区域。有时候我们的数据很大在元数据上还可能有多级块组指向、

    计算机是对数字的处理速度最快所有我们每个文件都一个inode编号使用ls -i就能查看到

硬盘分区及挂载

5、每一个文件系统一般都会分为几个block group,每个中都存放着各自的blockinode bitmap,一般第一个block group上有一个superblock,另外几个block  上也可能存有备份的superblock

Superblock内容:总inode数,总block数,空闲的block数;空闲的inode数;预留给管理员的block数;以及这些block的编号和所在block  group

查看超级块命令示例:

tune2fs    -l       设备名称

dumpe2fs         /dev/sda3|less显示所有block group的信息 显示超级块的信息

         6、日志系统的含义是在文件文件的inode信息先被写入到日志区,等到数据写入结束后inode信息会从日志区挪到元数据区内。这样我们在对文件系统检测是的速度会提高很多,但是也让我们的文件系统的文件写入增加了一个步骤有可能会写入速度造成影响,我想我们伟大的程序员工程师一定通过各种优化的算法让这个影响可以忽略掉了。

         7、目录其实也是个文件,他们里面的内容其实就是我们的文件名

         我们的文件存放是先生成inode信息,然后数据写入到数据区内。

 

四、Linux的文件目录树: 

Linux严格区分字符大小写,文件最长命名255个字符,以【/】为分隔符分开各层级文件。是一课倒置的树 。以根【/】为起点所有的文件和路径都在根下。

硬盘分区及挂载

   

一个目录:就是一个名称空间 

    相对路径:从非顶级,缺省路径时从当前路径开始 

    绝对路径:从顶级名称空间起始标记的路径 /bin/ls

    Linux 是单目录的,分区是挂在到这些目录节点上的(可以理解为分区和目录是绑定的,打开这个目录就是进入这个分区)。 

因为linux的文件众多繁杂,也是为了统一发行商所发行的Linux系统的文件名保持一定的兼容性就有了FHSLinux  (Filesystem Hierarchy Standard);定义了linux下一些目录的固定应用范围。

/boot: 系统启动相关的文件,如内核、initrd,以及grub(bootloader)
/dev: 设备文件       
设备文件:                    
块设备:随机访问,数据块                    
字符设备:线性访问,按字符为单位                    
设备号:主设备号(major)和次设备号(minor)
/etc:配置文件
/home:用户的家目录,每一个用户的家目录通常默认为
/home/USERNAME
/root:管理员的家目录;
/lib:库文件          
静态库:.a         
动态库:.dll, .so (shared object)
/lib/modules:内核模块文件
/media:挂载点目录,移动设备
/mnt:挂载点目录,额外的临时文件系统
/opt:可选目录,第三方程序的安装目录
/proc:伪文件系统,内核映射文件
/sys:伪文件系统,跟硬件设备相关的属性映射文件
/tmp:临时文件
/var/tmp:
/var:可变化的文件
/bin:可执行文件
/sbin:管理命令 
/usr:用户程序

Linux文件的命名规则:

1、长度不能超过255个字符;

2、不能使用/当文件名

3、严格区分大小写

  

五、硬盘要经过多少坎坷才能存放文件

5.1 分区

5.1.1 命令行中列出分区列表

[root@zhuzw-centos6 ~]# fdisk -l /dev/sdb  #列出硬盘上的所有分区  #fdisk –ul 可以列出所有磁盘的分区表

 

Disk /dev/sdb: 128.8 GB, 128849018880 bytes
255 heads, 63 sectors/track, 15665 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: 0x6acdf85b
 
 Device Boot      Start      End      Blocks   Id  System
/dev/sdb1         1       15665   125829081    5  Extended
/dev/sdb5          1       15665   125829049+  8e  Linux LVM

 

5.1.2 fdisk的交互式使用之删除分区

Fdisk是个交互式的工具

[root@zhuzw-centos6 ~]# fdisk /dev/sdb     #fdisk 后面跟上你想进行分区操作的设备文件即可,就会进入一下界面
 
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): m         #键入m就会打印出选项菜单
Command action
   a   toggle a bootable flag      #设置引导扇区
   b   edit bsd disklabel          #编辑BSD磁盘
   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  #修改分区类型
   u   change display/entry units
   v   verify the partition table
   w   write table to disk and exit   #保存退出
   x   extra functionality (experts only)  #专家模式
 
我的/dev/sdb上已经有两个分区了
   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1               1       15665   125829081    5  Extended  # 5代表的是扩展分区
/dev/sdb5               1       15665   125829049+  8e  Linux LVM 
首先把这两个分区删除
Command (m for help): d    #键入d
Partition number (1-5): 1    #询问你要删除哪个分区,我们这里选择删除分区1
 
Command (m for help): p    #键入p打印分区表
 
Disk /dev/sdb: 128.8 GB, 128849018880 bytes
255 heads, 63 sectors/track, 15665 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: 0x6acdf85b
 
   Device Boot      Start         End      Blocks   Id  System
Command (m for help):
#分区没有了,这是因为/sdb5是建立在扩展分区上进行分区创建的,直接删除扩展分区会让扩展分区上的所有分区全部丢失。在删除扩展分区时一定要慎重。
 
5.1.3 fdisk的交互式使用之新建分区
Command (m for help): n    #键入n创建分区,不区分大小写
Command action
   e   extended          #交互式选择 e 扩展分区
   p   primary partition (1-4) #p主分区
p         #键入p选择创建主分区,不区分大小写
Partition number (1-4): 1      #选择分区号
First cylinder (1-15665, default 1):  #选择起始柱面,有默认值可以直接回车
Using default value 1
Last cylinder, +cylinders or +size{K,M,G} (1-15665, default 15665): +500M   #选择分区大小,可以使用+size{K,M,G} +大小{K M G} 这里区分大小写
 
Command (m for help): N
Command action
   e   extended
   p   primary partition (1-4)
E         #键入e选择创建扩展分区,不区分大小写。注意扩展分区需要在进行创建分区才可以使用
Partition number (1-4): 2
First cylinder (66-15665, default 66):
Using default value 66
Last cylinder, +cylinders or +size{K,M,G} (66-15665, default 15665): +20G    
 
Command (m for help): N    
Command action
   l   logical (5 or over)    #这是针对扩展分区创建分区的选项
   p   primary partition (1-4)
L
First cylinder (66-2677, default 66):
Using default value 66
Last cylinder, +cylinders or +size{K,M,G} (66-2677, default 2677): +10G

 

5.1.3 fdisk的交互式使用之修改分区表示ID

Command (m for help): T     #键入T修改分区识别ID,这里一定要修改要不然当你的系统损坏或者重装系统后,有可能会发生原有分区无法正常被识别。如swap lvm RAID
Partition number (1-5): 5      #键入分区号,这个/dev/sdb5后面的那个数字
Hex code (type L to list codes): L   #再次还科技键入L查看分区识别ID
 
 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-
 4  FAT16 <32M      41  PPC PReP Boot   85  Linux extended  c7  Syrinx        
 5  Extended        42  SFS             86  NTFS volume set da  Non-FS data   
 6  FAT16           4d  QNX4.x          87  NTFS volume set db  CP/M / CTOS / .
 7  HPFS/NTFS       4e  QNX4.x 2nd part 88  Linux plaintext de  Dell Utility  
 8  AIX             4f  QNX4.x 3rd part 8e  Linux LVM       df  BootIt        
 9  AIX bootable    50  OnTrack DM      93  Amoeba          e1  DOS access    
 a  OS/2 Boot Manag 51  OnTrack DM6 Aux 94  Amoeba BBT      e3  DOS R/O       
 b  W95 FAT32       52  CP/M            9f  BSD/OS          e4  SpeedStor     
 c  W95 FAT32 (LBA) 53  OnTrack DM6 Aux a0  IBM Thinkpad hi eb  BeOS fs       
 e  W95 FAT16 (LBA) 54  OnTrackDM6      a5  FreeBSD         ee  GPT           
 f  W95 Ext'd (LBA) 55  EZ-Drive        a6  OpenBSD         ef  EFI (FAT-12/16/
10  OPUS            56  Golden Bow      a7  NeXTSTEP        f0  Linux/PA-RISC b
11  Hidden FAT12    5c  Priam Edisk     a8  Darwin UFS      f1  SpeedStor     
12  Compaq diagnost 61  SpeedStor       a9  NetBSD          f4  SpeedStor     
14  Hidden FAT16 <3 63  GNU HURD or Sys ab  Darwin boot     f2  DOS secondary 
16  Hidden FAT16    64  Novell Netware  af  HFS / HFS+      fb  VMware VMFS   
17  Hidden HPFS/NTF 65  Novell Netware  b7  BSDI fs         fc  VMware VMKCORE
18  AST SmartSleep  70  DiskSecure Mult b8  BSDI swap       fd  Linux raid auto
1b  Hidden W95 FAT3 75  PC/IX           bb  Boot Wizard hid fe  LANstep       
1c  Hidden W95 FAT3 80  Old Minix       be  Solaris boot    ff  BBT           
1e  Hidden W95 FAT1
Hex code (type L to list codes): 8e    #键入相应的分区识别ID
Changed system type of partition 5 to 8e (Linux LVM)
 
Command (m for help): p 
 
Disk /dev/sdb: 128.8 GB, 128849018880 bytes
255 heads, 63 sectors/track, 15665 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: 0x6acdf85b
 
   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1               1          65      522081   83  Linux
/dev/sdb2              66        2677    20980890    5  Extended
/dev/sdb5              66        1371    10490413+  8e  Linux LVM
 
(1)分区创建好了之后,用 fdisk -l 命令可以查看分区情况,但需要注意的是:虽然fidsk命令列出了所有的分区情况,不代表新分区就可以被操作系统识别了,
文件系统是内核的功能(即软件能识别新分区但内核并不能识别),可以用" cat /proc/partitions "命令查看,若要内核能识别需要把分区变化情况同步到内核。
[root@zhuzw-centos6 ~]# cat /proc/partitions
major minor  #blocks  name
 
   8        0   31457280 sda
   8        1     512000 sda1
   8        2   30944256 sda2
   8       16  125829120 sdb
   8       17    2104483 sdb1
   8       18          1 sdb2
   8       21  123724566 sdb5
   8       32   83886080 sdc
   8       33   83883397 sdc1
 253        0   28909568 dm-0
 253        1    2031616 dm-1

如果内核没有识别我们新创建的分区可以通过以下命令敲几遍,让内核识别我们新创建的分区。

# partx -a [DEVICE]

# kpartx -af  [DEVICE]

2 要特别注意 :分区及格式化操作会永久地破坏目前存在于该分区上的任何数据,操作时需要特别小心(操作前对原有数据做备份)!

 

5.2 创建文件系统,也就是高级格式化分区

Linux内核是模块化的,这些模块支持动态装载和卸载;

文件系统可能会被直接打包进内核,也可以被编译成内核模块;

也就是说linux支持的文件系统,发行版不一定支持。如果此文件系统在发行版上不被支持而你又想要使用的话可以将此模块动态加载进linux内核中。

 

命令 : mkfs mke2fs, mkfs.ext2, mkfs.ext3, mkfs.ext4 mkfs.xfs

5.2.1 mke2fs

mke2fs也非是根据选项来调用mkfs.ext2, mkfs.ext3, mkfs.ext4命令来完成文件分区的格式化操作。

 

                   -t {ext2|ext3|ext4}:指定文件系统

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

                   -L LABEL: 打标

                   -j: 相当于 -t ext3

                   -i #: 每多少字节给创建一个inode,此字节数不应该少小块大小

                   -N #: 直接指定可用的inode数;

                   -m #: 指定预留空间占整个分区空间的百分比;默认为5

                   -O:指定分区特性

[root@zhuzw-centos6 ~]# mke2fs -L "myzhuzw" -b 2048 -m 1 -t ext4 /dev/sdb5
mke2fs 1.41.12 (17-May-2010)
文件系统标签=myzhuzw    #卷标为myzhuzw
操作系统:Linux
块大小=2048 (log=1)     #-b 2048 将块大小修为2048 默认是4096
分块大小=2048 (log=1)
Stride=0 blocks, Stripe width=0 blocks
7733248 inodes, 61862282 blocks
618622 blocks (1.00%) reserved for the super user  #预留1.00%的空间给超级用户
第一个数据块=0
Maximum filesystem blocks=598736896
3776 block groups
16384 blocks per group, 16384 fragments per group
2048 inodes per group
Superblock backups stored on blocks:    #超级块备份
         16384, 49152, 81920, 114688, 147456, 409600, 442368, 802816, 1327104,
         2048000, 3981312, 5619712, 10240000, 11943936, 35831808, 39337984,
         51200000
 
正在写入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.

 

5.2.2 Mkfs  mkfs [-V] [-t fstype] [fs-options] device [size]

Mkfs 也是通过调用mkfs.ext2, mkfs.ext3, mkfs.ext4 mkfs.xfs这几个命令来实现对分区创建文件系统,默认是ext2的文件系统。通过-t 来调整文件系统

 

[root@zhuzw-centos6 ~]# mkfs -t ext3 -b 2048 /dev/sdb5  #这里的-b 2048 其实是mkfs.ext3的选项参数
mke2fs 1.41.12 (17-May-2010)
文件系统标签=
操作系统:Linux
块大小=2048 (log=1)
分块大小=2048 (log=1)
Stride=0 blocks, Stripe width=0 blocks
7733248 inodes, 61862282 blocks
3093114 blocks (5.00%) reserved for the super user
第一个数据块=0
Maximum filesystem blocks=598736896
3776 block groups
16384 blocks per group, 16384 fragments per group
2048 inodes per group
Superblock backups stored on blocks:
         16384, 49152, 81920, 114688, 147456, 409600, 442368, 802816, 1327104,
         2048000, 3981312, 5619712, 10240000, 11943936, 35831808, 39337984,
         51200000
 
正在写入inode表: 完成                           
Creating journal (32768 blocks): 完成
Writing superblocks and filesystem accounting information: 完成
 
This filesystem will be automatically checked every 24 mounts or
180 days, whichever comes first.  Use tune2fs -c or -i to override.

 

5.2.3创建交换分区:

mkswap [-L LABEL] DEVICE 

[root@zhuzw-centos6 ~]# mkswap /dev/sdb1
mkswap: /dev/sdb1: warning: don't erase bootbits sectors
        (dos partition table detected). Use -f to force.
Setting up swapspace version 1, size = 2104476 KiB
no label, UUID=383b4ec2-9703-46fe-93ac-a4416da0c862

5.2.4 一些常用的查看和修改命令

blkid: 查看指定块设备的信息

[root@zhuzw-centos6 ~]# blkid    #不加参数为产科所有已经创建文件系统的分区参数,包含卷标UUID 文件系统类型
/dev/sda1: UUID="cf945085-4631-4e6f-a250-7a4d7e2b82ce" TYPE="ext4"
/dev/sda2: UUID="rpUYLk-vdqY-k5YM-BRFy-x91e-3jzw-6JB99P" TYPE="LVM2_member"
/dev/sdb5: UUID="723ef74d-1a19-47f4-b211-5aa90e50c5c1" SEC_TYPE="ext2" TYPE="ext3"
/dev/mapper/vg_zhuzwcentos6-lv_root: UUID="42e29e66-1644-4909-8aa9-87d978686751" TYPE="ext4"
/dev/mapper/vg_zhuzwcentos6-lv_swap: UUID="e05e3e78-719d-4061-a623-d88ff219fb45" TYPE="swap".
 
[root@zhuzw-centos6 ~]# blkid /dev/sdb5   #加上分区文件为至查看此分区
/dev/sdb5: UUID="723ef74d-1a19-47f4-b211-5aa90e50c5c1" SEC_TYPE="ext2" TYPE="ext3"

  

e2label:查看或设定卷标

e2label DEVICE [LABEL]  #不加卷标参数为查看,加卷标参数为修改稿卷标
[root@zhuzw-centos6 ~]# e2label  /dev/sdb5
my
[root@zhuzw-centos6 ~]# e2label  /dev/sdb5 zhuzw
[root@zhuzw-centos6 ~]# e2label  /dev/sdb5
zhuzw

 查看超级块信息:

 # tune2fs -l DEVICE

 # dumpe2fs -h DEVICE

 

tune2fs :修改分区属性:

 -j: ext2 --> ext3
 -L LABEL:修改卷标
 -m #: 修改预留空间百分比;
 -O [^]FEATURE: 启用指定特性,特性前加^,表示关闭此种特性
 -o [^]mount-options: 开启或关闭指定的挂载选项
 块大小是固定的无法修改

 

df: disk free    查看看磁盘空间使用情况

   -h: human-readable  易读的显示方式

   -i: 显示inode的使用信息而非默认的磁盘空间使用信息

[root@zhuzw-centos6 /]# df -h
Filesystem                           Size  Used Avail Use% Mounted on
/dev/mapper/vg_zhuzwcentos6-lv_root   28G  3.3G   23G  13% /
tmpfs                                491M   72K  491M   1% /dev/shm
/dev/sda1                            485M   35M  426M   8% /boot
/dev/sdb5                            117G   83M  111G   1% /mnt/zhuzw
 [root@zhuzw-centos6 /]# df -i
Filesystem                           Inodes IUsed   IFree IUse% Mounted on
/dev/mapper/vg_zhuzwcentos6-lv_root 1806896 93172 1713724    6% /
tmpfs                                125551     3  125548    1% /dev/shm
/dev/sda1                            128016    38  127978    1% /boot
/dev/sdb5                           7733248    11 7733237    1% /mnt/zhuzw

du: disk usage  一般用于查看目录总大小

  -s:  查看目录大小

  -h:  易读的显示方式

[root@zhuzw-centos6 /]# du -sh /tmp
265M        /tmp

    

5.2.5 文件系统修复

凡事有意外;因进程意外中止或系统崩溃等情况导入写入操作非正常中止时,可能会导致文件损坏;此时,应该修复文件系统,需要离线修复,交换分区不能修复。

                  

fsck  [options] DEVICE

-t fstype  #不指也可以自动识别

-a: 自动修复错误

-r: 交互式修复错误

 

[root@zhuzw-centos6 ~]# fsck /dev/sdb5
fsck from util-linux-ng 2.17.2
e2fsck 1.41.12 (17-May-2010)
zhuzw: clean, 11/7733248 files, 1017347/61862282 blocks

        

e2fsck: 专用于修改ext系列文件系统

  -y: 对问题自动回答为yes

  -f: 强制进行检测

 

5.3 文件系统挂载

 

文件系统挂载:默认只有管理员才有权限,可以通过选项来允许普通用户对特定的分区操作

         挂载就是将已经格式化好的分区与目录建立11的关联关系。如果这个目录内有文件,原文件会被隐藏。当新的挂载被卸掉后原文件会再次出现。

 

5.3.1 挂载

命令:mount          DEVICE MOUNT_POINT

 

         Linux系统默认一般用于挂载点两个目录:/mnt, /media。当然不是挂载到这另个目录上,而是在这两个目录上新建一个目录文件后挂载到你所创建的目录文件上。

 

         mount [option]… [-t fstype] [-o option]  设备  挂载点

                   挂载点需要事创建并且最好是空闲的目录。                                

常用的挂载选项:
   -t fstype:指定文件系统类型
   -r: readonly, 只读挂载
   -w: read and write, 读写挂载
   -L LABEL:以卷标方式指定设备, mount -L MYDATA 挂载点
   -U UUID: 以UUID的方式指定设备,mount UUID='uuid' 挂载点, mount -U uuid 挂载点
   -a: 自动挂载所有(/etc/fstab文件中定义的)的支持自动挂载设备
   -n: 挂载时,不更新/etc/mtab文件
 
     -o option: 默认选项:为rw, suid, dev, exec, auto, nouser, async, and relatime.
        async:异步I/O,数据写操作先于内存完成,而后再根据某种策略同步至持久设备中
        sync: 同步I/O,
        atime/noatime: 文件和目录被访问时是更新最近一次的访问时间戳
        auto/noauto:设备是否支持mount的-a选项自动挂载
         diratime/nodiratime: 目录被访问时是更新最近一次的访问时间戳
        dev/nodev: 是否支持在此设备上使用设备;
        exec/noexec: 是否允许执行此设备上的二进制程序文件
        suid/nosuid: 是否支持在此设备的文件上使用suid
        remount: 重新挂载,通常用于不卸载的情况下重新指定挂载选项
        ro: 只读
        rw: 读写
        user/nouser: 是否允许普通挂载此文件设备
        acl: 在此设备是支持使用facl,默认不支持;
        例如:以指定挂载后支持acl为例:
 
                                    
[root@zhuzw-centos6 mnt]# pwd
/mnt
[root@zhuzw-centos6 mnt]# mkdir zhuzw   #新建一个zhuzw目录
[root@zhuzw-centos6 mnt]# cd zhuzw
[root@zhuzw-centos6 zhuzw]# ls
[root@zhuzw-centos6 zhuzw]# touch a.txt  #建一个空文件
[root@zhuzw-centos6 zhuzw]# cd ..       #回到父目录
[root@zhuzw-centos6 mnt]# mount /dev/sdb5 /mnt/zhuzw    #挂载
[root@zhuzw-centos6 mnt]# mount               #查看挂载信息
/dev/mapper/vg_zhuzwcentos6-lv_root on / type ext4 (rw)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
devpts on /dev/pts type devpts (rw,gid=5,mode=620)
tmpfs on /dev/shm type tmpfs (rw,rootcontext="system_u:object_r:tmpfs_t:s0")
/dev/sda1 on /boot type ext4 (rw)
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
vmware-vmblock on /var/run/vmblock-fuse type fuse.vmware-vmblock (rw,nosuid,nodev,default_permissions,allow_other)
/dev/sdb5 on /mnt/zhuzw type ext3 (rw)     #我们刚才挂载的文件
 
[root@zhuzw-centos6 mnt]# mount -o remount -o acl -o ro /dev/sdb5 /mnt/zhuzw   #这个-0 多选项要这么用

5.3.2 卸载

卸载时必须没有用户在使用此目录才可以

查看哪些进程正在访问挂载的设备:

         fuser -v 挂载点

 

中止正在此挂载点的进程:

         fuser -km 挂载点

 

卸载命令:umount

 

umount DEVICE   #umount /dev/sdb5

umount MOUNT_POINT   #umount /mnt/zhuzw

 

5.3.3 挂卸载交换分区

[root@zhuzw-centos6 ~]# swapon /dev/sdb1   #挂载交换分区
 [root@zhuzw-centos6 ~]# free
             total       used       free     shared    buffers     cached
Mem:       1004412     244448     759964          0      33540      38948
-/+ buffers/cache:     171960     832452
Swap:      4136080          0    4136080
[root@zhuzw-centos6 ~]# swapoff /dev/sdb1    #卸载交换分区
[root@zhuzw-centos6 ~]# free
             total       used       free     shared    buffers     cached
Mem:       1004412     243332     761080          0      33540      38956
-/+ buffers/cache:     170836     833576
Swap:      2031608          0    2031608

 

5.3.4查看所有已经挂载的设备:

# mount
[root@zhuzw-centos6 mnt]# mount               #查看挂载信息
/dev/mapper/vg_zhuzwcentos6-lv_root on / type ext4 (rw)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
devpts on /dev/pts type devpts (rw,gid=5,mode=620)
tmpfs on /dev/shm type tmpfs (rw,rootcontext="system_u:object_r:tmpfs_t:s0")
/dev/sda1 on /boot type ext4 (rw)
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
vmware-vmblock on /var/run/vmblock-fuse type fuse.vmware-vmblock (rw,nosuid,nodev,default_permissions,allow_other)
/dev/sdb5 on /mnt/zhuzw type ext3 (rw)     #我们刚才挂载的文件
 
# cat /proc/mounts
[root@zhuzw-centos6 mnt]# cat /proc/mounts
rootfs / rootfs rw 0 0
proc /proc proc rw,relatime 0 0
sysfs /sys sysfs rw,seclabel,relatime 0 0
devtmpfs /dev devtmpfs rw,seclabel,relatime,size=491792k,nr_inodes=122948,mode=755 0 0
devpts /dev/pts devpts rw,seclabel,relatime,gid=5,mode=620,ptmxmode=000 0 0
tmpfs /dev/shm tmpfs rw,seclabel,relatime 0 0
/dev/mapper/vg_zhuzwcentos6-lv_root / ext4 rw,seclabel,relatime,barrier=1,data=ordered 0 0
none /selinux selinuxfs rw,relatime 0 0
devtmpfs /dev devtmpfs rw,seclabel,relatime,size=491792k,nr_inodes=122948,mode=755 0 0
/proc/bus/usb /proc/bus/usb usbfs rw,relatime 0 0
/dev/sda1 /boot ext4 rw,seclabel,relatime,barrier=1,data=ordered 0 0
none /proc/sys/fs/binfmt_misc binfmt_misc rw,relatime 0 0
vmware-vmblock /var/run/vmblock-fuse fuse.vmware-vmblock rw,nosuid,nodev,relatime,user_id=0,group_id=0,default_permissions,allow_other 0 0
/etc/auto.misc /misc autofs rw,relatime,fd=7,pgrp=1911,timeout=300,minproto=5,maxproto=5,indirect 0 0
-hosts /net autofs rw,relatime,fd=13,pgrp=1911,timeout=300,minproto=5,maxproto=5,indirect 0 0
/dev/sdb5 /mnt/zhuzw ext3 ro,seclabel,relatime,errors=continue,acl,barrier=1,data=ordered 0 0
 
# cat /etc/mtab
[root@zhuzw-centos6 mnt]# cat /etc/mtab
/dev/mapper/vg_zhuzwcentos6-lv_root / ext4 rw 0 0
proc /proc proc rw 0 0
sysfs /sys sysfs rw 0 0
devpts /dev/pts devpts rw,gid=5,mode=620 0 0
tmpfs /dev/shm tmpfs rw,rootcontext="system_u:object_r:tmpfs_t:s0" 0 0
/dev/sda1 /boot ext4 rw 0 0
none /proc/sys/fs/binfmt_misc binfmt_misc rw 0 0
vmware-vmblock /var/run/vmblock-fuse fuse.vmware-vmblock rw,nosuid,nodev,default_permissions,allow_other 0 0
/dev/sdb5 /mnt/zhuzw ext3 ro,acl 0 0

原创文章,作者:东郭先生,如若转载,请注明出处:http://www.178linux.com/4383