Centos 硬盘的分区,格式化xfs,卸载装载介绍

前言

前几天有一个需求:将ceph的一个osd卸载下来,进行硬盘ssd的读写速度测试已经压力测试,所以需要进行硬盘的重新整理。正好需要将这一套操作(硬盘分区,格式化,卸装载)给捣腾一遍,所以记载一下,希望能给大家带来帮助。

1.将ssd从ceph中osd上卸载下来

该系列操作涉及到具体ceph的相关操作,请大家自助查询相关资料。

接下来的主要的流程:

  1. 对磁盘进行分区
  2. 对某一个分区进行格式化
  3. 建立文件系统
  4. (可选)对建立好的文件系统进行检验
  5. 在Linux上,建立挂载点,然后将它挂载到目录上

2.磁盘分区

有几个很有用的命令:

  1. lsblk

列出系统上的所有磁盘列表。其中会有:sda,sdb,...,nvme0,nvme1,...,等。这些就是具体的在设备上的硬盘。假如每个设备上有树形分支:

NAME    MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT

sda       8:0    0 558.4G  0 disk 

├─sda1    8:1    0     1G  0 part /boot

├─sda2    8:2    0   128G  0 part [SWAP]

├─sda3    8:3    0   100G  0 part /home

├─sda4    8:4    0     1K  0 part 

└─sda5    8:5    0 329.4G  0 part /

nvme0n1 259:4    0   1.8T  0 disk 

nvme1n1 259:2    0   1.8T  0 disk 

nvme2n1 259:3    0   1.8T  0 disk 

nvme3n1 259:5    0   1.8T  0 disk 

nvme4n1 259:0    0   1.8T  0 disk 

nvme5n1 259:1    0   1.8T  0 disk 

这说明sda这个硬盘上有5个分区。下面是5个分区中各个分区的信息。现在我们以nvme0n1为例对该磁盘进行挂载。

MBR分区表请使用fdisk分区,GPT分区表使用gdisk进行分区。(很重要!很重要!很重要!否则会分区失败)怎么知道是哪一种分区格式呢?

parted 设备名 print

其中:Partition Table一项就是分区表的格式

然后根据具体内容进行分区,记住如果操作不当的话想撤销,最后别【w】执行就可以,因为所有操作都是在内存中进行,最后当你【q】就当前的所有操作都给失效掉。

3.磁盘格式化

磁盘格式化使用mkfs命令,但是具体使用什么格式,需要使用mkfs的子命令。例如你要格式化成xfs格式,你就要使用mkfs.xfs命令;你要格式化为ext4形式,你就需要mkfs.ext4的命令。(本次采用xfs格式方式)

mkfs.xfs 【-b bsize】 [-d 参数] 【-i 参数】 【-l 参数】 【-L 参数】 【-f】 [-r 参数] 设备名

-b 后面接区块容量

-d 后面接data section 的相关参数

-f (force)表示现在这个设备已经有了文件系统,需要强制性格式化

其实简单暴力直接不接任何参数,一般就是:

mkfs.xfs 设备名(/dev/sdb) (-f)

然后检查是否格式化成功,使用:

blkid 设备名(例如/dev/sdb)

我的机器上显示的nvme0n1是:

# blkid /dev/nvme0n1
/dev/nvme0n1: UUID="ce3c7ffa-e293-4b34-a849-e6d29c450644" TYPE="xfs" 

有这样的形式,说明已经格式化成功。

4.检验文件系统

xfs文件系统检查用到 xfs_repair命令。

# xfs_repair [-fnd] 设备名

-f 说明后面的设备是文件不是设备

-n 只进行检查,不修改文件的任何数据(仅仅进行检查)

-d 在单人维护模式下面,针对根目录进行检查和修复的操作,比较危险,不要随便操作

我一般使用:

xfs_repair -n 设备名

5.文件系统挂载与卸载

文件系统已经格式化完毕之后,那么就可以开始对给文件系统进行挂载到一个目录上。(就是将这个文件系统跟一个目录(例如/data/my_xfs目录)进行绑定,这样访问这个磁盘的文件系统就成了访问这个目录。)也就是说,这个目录就是该文件系统的访问入口,在这个文件目录里面创建文件,创建文件夹就成了在这个文件系统中创建文件和文件夹。挂载之前需要注意几点:

  • 单一文件系统不应该被重复挂载在不同的挂载点(目录)上
  • 单一目录不应该重复挂载多个文件系统
  • 要作为挂载点的目录,理论上都应该是空目录才可以

文件系统挂载很简单,就是一个mount命令,卸载就是umount。

每个设备都有一个UUID,挂载的时候,你需要将指定的设备(由UUID确定更好)和挂载点(目录)。通过

blkid [设备名]

来查看你要挂载的设备的UUID.

然后执行:(注意:挂载目录应该是已经存在的空目录,如果没有改目录需要mkdir创建一个空目录)

# mount UUID="你的UUID的序列串" 【挂载目录】

这样的话就可以把这个设备(UUID)和指定的挂载目录进行绑定了。检查是否挂载成功可以使用:

df 挂载目录

会显示类似于

Filesystem    512-blocks      Used Available Capacity iused               ifree %iused  Mounted on

/dev/disk1s1   236568496 131203248  99862432    57%  969984 9223372036853805823    0%   /

其中mounted on 表示的就是挂载在那个目录了。

注意:这样挂载是本次挂载,如果想要启动挂载就需要修改配置文件(/etc/fstab):

/etc/fstab文件加上一行:

设备名    挂载点   文件系统  defaults    0 0 

设备名:就是你的文件系统设备名字,例如/dev/sdb

挂载点:就是你mount 命令的挂载目录

文件系统:就是你将这个文件系统格式化的文件系统类型(xfs,ext4等)

其他都是默认。(由于你的系统肯定有有现存的挂载点,所以你可以照猫画虎在下面添一行。重要的就是:设备名,挂载点,文件系统。其他的按照默认的defaults 0 0 就可以了)

好了这样就大功告成了,你可以cd命令进入你的挂载点(目录上),然后进行各种操作即可。

 

你可能感兴趣的:(文件操作,服务器,Linux,文件系统)