linux:磁盘的分割、检验、格式化与挂载
2016-05-09 18:43 ZengGW 阅读(4326) 评论(0) 编辑 收藏 举报新增一颗磁碟:
1.对磁碟进行分割,以建立可用的partition
2.对该分割槽partition进行格式化(format),以建立系统可用的filesystem
3.若要仔细点,可对刚刚建立的filesystem进行检验
4.在linux上面,需要建立挂载点(亦即是目录)将它挂载上去
一、观察磁碟分割状态(lsblk、blkid、parted)
lsblk(list block device):列出系统上的所以磁碟列表
blkid:获取UUID
补充(打错字了):这样识别码就可以拿来作为挂载或者使用这个装置档案系统之用了
parted:列出磁碟的分割表类型和分割资讯
二、磁盘分割(gdisk/fdisk)
gdisk:GPT分割格式使用(以下都试使用gdisk来分割的)
fdisk:MBR分割格式使用
注意:gdisk /dev/sda不能写错gdisk /dev/sda1,因为partition是针对整个磁碟装置的,不是针对某个partition的
比较重要的指令:
d:删除一个分割槽
n:添加一个新的分割槽
q:退出,不保存修改
w:保存修改后离开
p:打印分区表(里面有目前磁碟的状态)
从上图可以看出:
a.该磁碟还可以进行额外的分割,因为它的最大磁区为83886080,但是它只用到65026047
b.每一个分割槽的start磁区都是上一个分割槽的结束磁区加1
强烈建议:你可以使用gdisk或者fdisk在磁碟上面随便怎么弄,但是千万不要按下【w】,千万记得按下【q】,此外不要在GPT上面使用fdisk或者在MBR上面使用gdisk,因为指令的错误可能导致磁盘的分割记录全部死光光;
使用gdisk新增分割槽(分割过程):
分割槽的档案格式查询:linux的基本就是8200(swap)/8300/8e00三种格式,windows的几乎都用0700
当确保分割槽正确的情况下,按下【w】:
此时的磁碟还在使用当中,不能立即载入新的磁盘分割资讯,有两种方式解决:
1.关机重启
2.使用partprobe这个命令来处理
partprobe:更新linux核心的分割表资讯
磁碟格式化(mkfs.xfs):(注意【重点】:当你在系统中新分割了两个partition后,分别将它们格式化了,然后把他们删除后,你再去重新创建新的分区,这时候你会发现,分割的新的partition直接就格式化好了,刚好就是刚才删除的那两个格式化了的分区的filesystem,当你分割了两个分割槽之后,第三个开始才没有被格式化)
举例:xfs可以使用多个资料流来读写系统,以增加速度,因此那个agcount可以和CPU的核心数来做搭配
跳过:XFS档案系统for RAID效能优化(Optional)
其他的档案系统的mkfs
档案系统的检验(不经常用,也不希望去用):
注意:通常只有你是root身份,且你的档案系统有问题的时候才使用这个命令,否则正常情况下使用该命令,可能会造成对系统的危害
执行xfs_repair/fsck.ext4时被检查的分区务必不可挂载到系统上,既是需要在卸载的状态下
语法:xfs_repair [-fnd] 裝置名称
-f :後面的裝置其實是個檔案而不是實體裝置
-n :單純檢查並不修改檔案系統的任何資料 (檢查而已)
-d :通常用在單人維護模式底下,針對根目錄 (/) 進行檢查與修復的動作!很危險!不要隨便使用
fsck.ext4:处理ext4档案系统
档案系统的挂载与卸载:
单一档案系统不应该重复挂载在不同的挂载点(目录)中
单一目录不应该重复挂载多个档案系统
要作为挂载点的目录,理论上应该是空目录才对(如果原目录不为空,那么挂载了档案系统之后,该目录下的东西会暂时的消失;直到你把这个档案系统卸载之后,该目录原来的东西又会出现)
挂载的指令mount:
/etc/filesystem:系统指定的测试挂载档案系统类型的优先顺序
/proc/filesystem:linux系统已经载入的档案系统类型
/lib/modules/3.10.0-327.el7.x86_64/kernel/fs/:linux系统支援的档案系统的驱动程序
磁碟与档案系统参数修订:
档案如何代表该装置呢?根据主要(major)和次要(minor )代码,linux的系统核心就可以识别对应的装置了
如吐所示:其中8为主要代码,代表着/dev/sda,而0-5为次要代码,一下是常见的一些主要次要代码:
mknod(某些时候需要手动处理装置档案):
xfs_admin 修改xfs档案系统的LABEL NAME 和UUID;
疑问:因为mount后面接着档名也可以挂载的,为什么要需要通过uuidgen来生成新的一串uuid来挂载呢?
解:你没有办法指定这个磁碟在所以的linux中档名一定都会是固定不变的(比如:一直都是/dev/sda4),但是在linux中uuid是唯一的,很难重复
tune2fs修改ext4档案系统的LABEL NAME和UUID:
设定开机挂载(重要文件:/etc/fstab档案系统表和/etc/mtab挂载点表),特殊装置loop挂载(暂时不看):
当你使用mount挂载了某个分区到某个目录上面,只要你改变了该目录的结构,其实就是改变了该分区(档案系统的结果),而不是改变了这个目录
开机自动挂载(修改/etc/fstab文件)的限制:
根目录{/}是必须挂载的,而且一定要先于其他mount point(挂载点)挂载进来
其他挂载点必须为己建立目录,可任意只指定,但是必须遵循系统目录架构原则(FHS)
所有挂载点在同一时间内只能挂载一次
所以partition在统一时间内只能挂载一次
如果要进行卸载,则必须先将工作目录移动到mount point(及其子目录)之外
/etc/fstab(档案系统表):
总共分为留个栏位:
第一:磁碟装置名/UUID/LABEL NAME
第二:挂载点
第三:档案系统
第四:档案系统参数
第五:能否被dump备份指令作用(直接输入0就好了)
第六:是否以fsck检测磁区(看看档案系统是否完整clean),直接填写0就行(因为xfs档案系统会以它自己的方式去进行额外的检测,fsck对xfs档案系统不适用)
设置开机挂载步骤:
a>.查询好需要挂载的档案系统的uuid/label name/装置档名{xfs:xfs_admin -lu /dev/sda5 ; ext4:tune2fs -l /dev/sda4 | grep name/UUID 或者dumpe2fs -h /dev/sda4 | grep name/UUID}
b>.vi /etc/fstab,添加需要挂载的档案系统,比如:
UUID=ce88f08a-0676-4fc5-af7d-8928ecd53fae /data/ext4 ext4 defaults 0 0
UUID=701b1cfa-0e83-4986-86c8-0e5481262421 /data/xfs xfs defaults 0 0
c>.最后测试一下写入的语法有没有错误:
mount -a
df 挂载目录(查看是否挂载成功,以后开机就会自动挂载)
d>./etc/fstab是开机时的设定档,实际上filesystem的挂载信息是记录在/etc/mtab和/proc/mounts这两个档案中的,每次我们更动filesystem时就会修改这两个文件,万一你在/etc/fstab中输入的语法有错误,导致无法正常开机,就会进入单人维护模式,是只读的 read only的状态,也就无法更新这两个文件了,解决办法: mount -n -o remount,rw /
记忆体置换空间(swap)之建置:
先新建一个partition(类型8200):
开始建置swap格式化、并观察载入:
添加开机自动挂载(/etc/fstab):
暂时跳过。。。。。。。
内容参考自鸟哥linux私房菜,传送门:http://linux.vbird.org/;