磁盘分区,文件系统,以及挂载的方法

#### 编译安装大致分三步
> 1./configure:通过选项传递参数,制动启用特性、安装路径等。执行时会参考用户指定以及Makefile,in文件生成Makefile  
> 检查各指定功能依赖的外部环境


2. make     根据makefile构建应用程序


3、 make install




#### 磁盘管理知识
硬盘的接口分为


```
并行口
IDE
SCSI
串行口
SATA
SAS
USB
```
机械式硬盘的工作机制


```
tarck:磁道:是用来存数据的
cylinder:柱面
sector:扇区
```




将磁盘进行分区,
> 1.分区是将磁盘按柱面进行物理上的划分。  
> 2.划好分区后进行格式化  
> 3.然后挂载后才能使用。  


分区结构
```
0磁道0扇区(mbr)共分为512bytes
446bytes:引导加载器
64bytes:分区表
        分区表大小为16bytes
        所以一个硬盘最多有四个分区  (3个主分区和一个扩展分区)


2bytes:55aa(结尾)
```
分区的管理工具
fdisk:对于一块硬盘来说,最多可以管理15个分区
fdisk -l :列出(指定设备)的磁盘分区信息(如果不跟参数默认显示所有分区的信息)

```
Disk /dev/sda: 214.7 GB, 214748364800 bytes
255 heads, 63 sectors/track, 26108 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: 0x0002c9b7


   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1        1275    10240000   83  Linux
/dev/sda2            1275        7650    51200000   83  Linux
/dev/sda3            7650       11474    30720000   83  Linux
/dev/sda4           11474       26109   117554176    5  Extended
/dev/sda5           11474       11857     3072000   82  Linux swap / Solaris
[root@zhangxiao ~]#
```


fdisk 参数(设备):直接进行对参数(设备)的分区
会提示帮助输入


```
m则是查看帮助
n创建新分区
p显示已有分区
d删除分区
w保存退出
q放弃更新退出
l列出所有ID
t调整分区id
```


lsblk查看磁盘分区情况


通知内核重新读磁盘分区情况


```
partx -a  添加磁盘分区时不同步
       
     -d 删除磁盘分区时不同步
      -nr[m][n]:配合-d一起用 【m】:【n】从分区编号到分区编号
      
      partprobe (centos5,7使用)
```




文件系统分很多种
centos5/6上默认使用ext2/ext3/ext4
centos7默认使用xfs/jfs等
swap:交换分区


文件系统的组成部分
内核中的模块:ext4
用户空间的管理工具:mkfs.ext4,mkfs.xfs等


划分好分区后我们下一步需要做的事创建文件系统


一般用命令
mkfs.ext2,mkfs.ext3,mkfs.ext4,mkfs.xfs


用法:
mkfs.etx4(ext3/xfs) /dev/sd#(b1/b2)
把sdb(1/2)划分为ext4(ext3/xfs)文件系统
用法2 mkfs -t TYPE  /dev/sdN
备注(TYPE是指ext,xfs等  N是指sd哪一个分区)
示例


```
[root@localhost ~]# mkfs.ext4 /dev/sdb2
mke2fs 1.42.9 (28-Dec-2013)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
262144 inodes, 1048576 blocks
52428 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=1073741824
32 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks: 
32768, 98304, 163840, 229376, 294912, 819200, 884736


Allocating group tables: done                            
Writing inode tables: done                            
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done 


[root@localhost ~]# lsblk
```




blkid /dev/sdb(1/2):查看磁盘的基本情况
选项
-L:根据指定的卷标名查找设备
-U:根据UUID查看对应的设备


示例


```
[root@localhost ~]# blkid /dev/sdb2
/dev/sdb2: UUID="daa01a8f-3321-4423-899a-640bd636f41c" TYPE="ext4" 
[root@localhost ~]#
```
对于ext系列用mke2fs命令更加灵活
用法




mke2fs


```
-t:{ext2|ext3|ext4}指明类型
-b:知名块大小{1k|2k|4k}
-i #:为空间中多少个字节创建一个inode:此大小不应该小于block的大小
-N #:为数据空间创造多少个inode
-m #:为管理员预留的空间占的百分比
-O FEATURE[,...]:启用指定特性 
-O ^FEATURE:关闭指定特性
-L指定卷标


```


#### tune2fs:重新设定ext系列文件系统可调整参数的值 
```
-l:查看指定文件系统超级块信息;super block
-L 'LABEL':修改卷标 
-m #:修预留给管理员的空间百分比 -j: 将ext2升级为ext3 
-O: 文件系统属性启用或禁用,–O ^has_journal 
-o: 调整文件系统的默认挂载选项,–o ^acl 
-U UUID: 修改UUID号
```


#### 文件系统的检测
fsck 
常用选项
fsck -t TYPE /dev/sd#
fsck.TYPE /dev/sd#
-a 自动修复错误
-r 交互式幸福错误


TYPE一定要与分区上的类型相同


#### e2fsck:ext系列文件专用修复系统
-y:自动回答为yes
-f:强制修复


#### 挂载
挂载:将额外文件系统与根文件系统某现存的目录建立起关联关系,进而使得此 目录做为其它文件访问入口的行为
卸载:为解除此关联关系的过程   把设备关联挂载点:mount Point mount   
卸载时:可使用设备,也可以使用挂载点 umount   挂载点下原有文件在挂载完成后会被临时隐藏 挂载点目录一般为空  
#### mount用法
:什么都不跟:显示设备中所有的挂载情况。


mount [-fnrsvw] [-t vfstype] [-o options]    device    dir  


device:
> (1)  指明要挂载的设备(/dev/sdb1)  
> (2)卷标:L 卷标名  
> (3) UUID:-u 'UUID'  
> (4) 伪文件系统名字      例如proc ,sysfs ,devtmpfs等  

dir :挂载点
必须事先存在,建议使用空目录
备注:尽量不要使用mnt和idear目录


(-t vsstype)
选项
```
-t vsftype:指定要挂载的设备上的文件系统类型 (最好省略,因为mount可以自动检查文件系统类型)
-r: readonly,只读挂载 
-w: read and write, 读写挂载 
-n: 不更新/etc/mtab,mount不可见 
-a:自动挂载所有支持自动挂载的设备(定义在了/etc/fstab文件中,且挂载选 项中有auto功能) 
-L 'LABEL': 以卷标指定挂载设备 -U 'UUID':以UUID指定要挂载的设备 
-B, --bind:绑定目录到另一个目录上
```
查看内核追踪到的已挂载的所有设备
cat /proc/mounts
处于繁忙状态的设备无法被卸载
(-o options)
选项


```
async:异步模式 sync:同步模式,内存更改时,同时写磁盘 


atime/noatime:包含目录和文件 


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


auto/noauto:是否支持自动挂载,是否支持-a选项 


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


dev/nodev:是否支持在此文件系统上使用设备文件 


suid/nosuid:是否支持suid和sgid权限 


remount:重新挂载 


ro:只读 


rw:读写 


user/nouser:是否允许普通用户挂载此设备,/etc/fstab使用 


acl:启用此文件系统上的acl功能 


loop: 使用loop设备  


defaults:相当于rw, suid, dev, exec, auto, nouser, async
```
备注:-o后面的选项可以是多个,彼此之间可用(,逗号)分隔
卸载命令:


```
#### umount DEVICE(设备名)或者
umount MOUNT_POINT(挂载点)


查看正在访问挂在点的用户
fuser -v /MOUNT_POINT


踢出正在访问系统进程中的用户
fuser -km /MOUNT_POINT
```
### mkswap:创建swap分区
对于分区来讲
先用fdisk /dev/sd#
输入t,输入想修改的卷标数
改为82(82指的是swap分区)
保存
然后mkswap
swap分区就创建好了


挂载交换分区
启用:swapon 
swapon [OPTION]...[DEVICE]
-a:激活所有交换分区
-p:(数字) 指定优先级


禁用:swapoff
 
 
文件系统空间占用情况信息查看工具
df
选项


```
-h :按照人类易懂的方式显示
-i :显示inode的情况
-P :以posix兼容的格式输出(按照一行输出)  (个别时候当文件名等过长时,显示时会分行显示)
```




查看目录或者目录下的文件总体占用情况
du  [OPTION] dir
选项
默认:显示文件夹中的每一个文件大小
-s :查看文件夹下的所有文件总和
-h :人类易懂模式
du -sh 是经常结合在一起使用的


我们挂载的文件重启时会失效,如果想永久保存则需要修改 /etc/fstab文件
使用blkid 查看UUID号


fstab格式:


```
要挂载的设备或伪文件系统 挂载点  文件系统类型  挂载选项  转储频率   自检次序
要挂载的设备或为文件系统
设备文件、卷标名(LABLE="")、UUID(UUID=""),伪文件系统


转储频率:
0:不做备份
1:每天转储
2:隔天转储


自检次序:
0:不自检
1:首先自检一般只有root才用1




通常我们额外的文件系统不要让他自检和转储










```

















猜你喜欢

转载自blog.csdn.net/qq_41924470/article/details/80213153