【Linux学习笔记16】磁盘的分区、格式化、检验与挂载(blkid、lsblk、UUID、parted查看分区的格式、lvm命令)

您所在的位置:网站首页 dos如何查看硬盘 【Linux学习笔记16】磁盘的分区、格式化、检验与挂载(blkid、lsblk、UUID、parted查看分区的格式、lvm命令)

【Linux学习笔记16】磁盘的分区、格式化、检验与挂载(blkid、lsblk、UUID、parted查看分区的格式、lvm命令)

2024-06-27 05:30| 来源: 网络整理| 查看: 265

文章目录 一、磁盘的分区、格式化、检验与挂载1. 观察磁盘分区状态1.1 lsblk 列出系统上的所有磁盘列表1.2. blkid 列出设备的 UUID 等参数1.3. parted 列出磁盘的分区表类型与分区信息 2 磁盘分区: gdisk/fdisk2.1 gdisk2.2.1 gdisk进行分区和删除分区 2.2 fdisk 3. 磁盘格式化(创建文件系统)3.1 XFS 文件系统 mkfs.xfs3.2 XFS 文件系统 for RAID 性能优化 (Optional)3.3 EXT4 文件系统 mkfs.ext4 4 文件系统检验5 文件系统挂载与卸载5.1 挂载 xfs/ext4/vfat 等文件系统5.2 挂载 CD 或 DVD 光盘5.3 挂载 vfat 中文U盘 (USB磁盘)5.4 重新挂载根目录与挂载不特定目录5.5 umount (将设备文件卸载) lvm

一、磁盘的分区、格式化、检验与挂载

对于一个系统管理者( root )而言,磁盘的的管理是相当重要的一环,尤其近来磁盘已经渐渐的被当成是消耗品了 … 如果我们想要在系统里面新增一颗磁盘时,应该有哪些动作需要做的呢:

对磁盘进行分区,以创建可用的 partition ;

对该 partition 进行格式化 (format),以创建系统可用的 filesystem;

若想要仔细一点,则可对刚刚创建好的 filesystem 进行检验;

在 Linux 系统上,需要创建挂载点 (亦即是目录),并将他挂载上来;

磁盘的使用必需要经过:分区、格式化与挂载,分别惯用的指令为:gdisk或fdisk, mkfs, mount三个指令 ,MBR分区表使用fdisk分区,GPT分区表使用gdisk分区

当然啰,在上述的过程当中,还有很多需要考虑的,例如磁盘分区 (partition) 需要定多大? 是否需要加入 journal 的功能?inode 与 block 的数量应该如何规划等等的问题。但是这些问题的决定, 都需要与你的主机用途来加以考虑的~所以,在这个小节里面,鸟哥仅会介绍几个动作而已, 更详细的设置值,则需要以你未来的经验来参考啰!

1. 观察磁盘分区状态

由于目前磁盘分区主要有 MBR 以及 GPT 两种格式,这两种格式所使用的分区工具不太一样!你当然可以使用本章预计最后才介绍的 parted 这个通通有支持的工具来处理,不过,我们还是比较习惯使用 fdisk 或者是 gdisk 来处理分区啊!因此,我们自然就得要去找一下目前系统有的磁盘有哪些? 这些磁盘是 MBR 还是 GPT 等等的!这样才能处理啦!

1.1 lsblk 列出系统上的所有磁盘列表

lsblk 可以看成“ list block device ”的缩写,就是列出所有储存设备的意思!这个工具软件真的很好用喔!来瞧一瞧!

[root@study ~]# lsblk [-dfimpt] [device] 选项与参数: -d :仅列出磁盘本身,并不会列出该磁盘的分区数据 -f :同时列出该磁盘内的文件系统名称 -i :使用 ASCII 的线段输出,不要使用复杂的编码 (再某些环境下很有用) -m :同时输出该设备在 /dev 下面的权限数据 (rwx 的数据) -p :列出该设备的完整文件名!而不是仅列出最后的名字而已。 -t :列出该磁盘设备的详细数据,包括磁盘伫列机制、预读写的数据量大小等

范例一:列出本系统下的所有磁盘与磁盘内的分区信息

[root@study ~]# lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sr0 11:0 1 444K 0 rom vda 252:0 0 300G 0 disk |-vda1 252:1 0 200M 0 part |-vda2 252:2 0 1M 0 part /boot |-vda3 252:4 0 19.3G 0 part | `-centos-root 253:0 0 40G 0 lvm / | `-centos-swap 253:0 0 40G 0 lvm [swap] | `-centos-home 253:0 0 40G 0 lvm /home

从上面的输出我们可以很清楚的看到,目前的系统主要有个 sr0 以及一个 vda 的设备,而vda 的设备下面又有三个分区, 其中 vda3 甚至还有因为 LVM 产生的文件系统!相当的完整吧!从范例一我们来谈谈默认输出的信息有哪些。

lvm技术把vda3分区挂载为三个文件系统,否则一般情况下分区和挂载点是一对一的关系

NAME:就是设备的文件名啰!会省略 /dev 等前导目录!

也就是说本质上,你看到的应该是 /dev/sr0、/dev/vda、/dev/vda1等,参见 【linux命令】df和du的区别、Filesystem文件系统&&与分区关系 && Device设备。他们都是 /dev/目录下的文件,当你使用lsblk查看全部分区信息时,显示的结果会省略/dev,但你当你想看某个具体分区时,必须带上/dev ,否则会报没有此设备。

MAJ:MIN:其实核心认识的设备都是通过这两个代码来熟悉的!分别是主要:次要设备 代码!

RM:是否为可卸载设备 (removable device),如光盘、USB 磁盘等等

SIZE:当然就是容量啰!

RO:是否为只读设备的意思

TYPE:是磁盘 (disk)、分区 (partition) 还是只读存储器 (rom) 等输出

MOUTPOINT:就是前一章谈到的挂载点!

笔者自己的环境样例:

[pict@paas-controller-3:~]$ lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sr0 11:0 1 444K 0 rom /media/cdrom vda 252:0 0 300G 0 disk |-vda1 252:1 0 200M 0 part /boot/efi |-vda2 252:2 0 1M 0 part |-vda3 252:3 0 500M 0 part /boot |-vda4 252:4 0 19.3G 0 part | `-ncl-root 253:0 0 40G 0 lvm / `-vda5 252:5 0 280G 0 part |-ncl-root 253:0 0 40G 0 lvm / |-ncl-lv_P 253:1 0 204.3G 0 lvm /paasdata |-ncl-lv_Popauditlog 253:2 0 5G 0 lvm /var/log/audit |-ncl-lv_P_L 253:3 0 20G 0 lvm /paasdata/op-log `-ncl-lv_P_T 253:4 0 30G 0 lvm /paasdata/op-tenant vdb 252:16 0 300G 0 disk /NFS_DIR/share0

范例二:仅列出 /dev/vda 设备内的所有数据的完整文件名

与范例一相比,就是指定了某个磁盘,缩写查看范围

[root@study ~]# lsblk -ip /dev/vda NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT /dev/vda 252:0 0 300G 0 disk |-/dev/vda1 252:1 0 200M 0 part |-/dev/vda2 252:2 0 1M 0 part /boot |-/dev/vda3 252:4 0 19.3G 0 part | `-/dev/mapper/centos-root 253:0 0 40G 0 lvm / | `-/dev/mapper/centos-swap 253:0 0 40G 0 lvm [swap] | `-/dev/mapper/centos-home 253:0 0 40G 0 lvm /home # 完整的文件名,由 / 开始写

注意:此时带上了前导目录/dev/

1.2. blkid 列出设备的 UUID 等参数

虽然 lsblk 已经可以使用lsblk -f 来列出文件系统与设备的 UUID 数据,不过,鸟哥还是比较习惯直接使用 blkid 来找出设备的 UUID 喔! 什么是 UUID 呢?UUID 是全域单一识别码(universally unique identifier),Linux 会将系统内所有的设备都给予一个独一无二的识别码, 这个识别码就可以拿来作为挂载或者是使用这个设备/文件系统之用了。

[root@study ~]# blkid /dev/vda2: UUID="94ac5f77-cb8a-495e-a65b-2ef7442b837c" TYPE="xfs" /dev/vda3: UUID="WStYq1-P93d-oShM-JNe3-KeDl-bBf6-RSmfae" TYPE="LVM2_member" /dev/sda1: UUID="35BC-6D6B" TYPE="vfat" /dev/mapper/centos-root: UUID="299bdc5b-de6d-486a-a0d2-375402aaab27" TYPE="xfs" /dev/mapper/centos-swap: UUID="905dc471-6c10-4108-b376-a802edbd862d" TYPE="swap" /dev/mapper/centos-home: UUID="29979bf1-4a28-48e0-be4a-66329bf727d9" TYPE="xfs"

如上所示,每一行代表一个文件系统,主要列出设备名称、UUID 名称以及文件系统的类型(TYPE)!这对于管理员来说,相当有帮助! 对于系统上面的文件系统观察来说,真是一目了然!

1.3. parted 列出磁盘的分区表类型与分区信息

虽然我们已经知道了系统上面的所有设备,并且通过 blkid 也知道了所有的文件系统!不过,还是不清楚磁盘的分区类型。 这时我们可以通过简单的 parted 来输出喔!我们这里仅简单的利用他的输出而已~本章最后才会详细介绍这个指令的用法的!

用来查看是mbr还是gtp分区

语法:

parted device_name print

范例一:列出 /dev/vda 磁盘的相关数据

[root@study ~]# parted /dev/vda print Model: Virtio Block Device (virtblk) # 磁盘的模块名称(厂商) Disk /dev/vda: 42.9GB # 磁盘的总容量 Sector size (logical/physical): 512B/512B # 磁盘的每个逻辑/物理扇区容量 Partition Table: gpt # 分区表的格式 (MBR/GPT) Disk Flags: pmbr_boot Number Start End Size File system Name Flags # 下面才是分区数据 1 1049kB 3146kB 2097kB bios_grub 2 3146kB 1077MB 1074MB xfs 3 1077MB 33.3GB 32.2GB lvm

笔者自己的环境样例:

[root@paas-controller-3:/home/pict]$ parted /dev/vda print Model: Virtio Block Device (virtblk) Disk /dev/vda: 322GB Sector size (logical/physical): 512B/512B Partition Table: gpt Disk Flags: Number Start End Size File system Name Flags 1 1049kB 211MB 210MB fat16 efi boot 2 211MB 212MB 1049kB bios bios_grub 3 212MB 736MB 524MB ext4 boot 4 736MB 21.5GB 20.7GB root lvm 5 21.5GB 322GB 301GB primary

看到上表的说明,你就知道啦!我们用的就是 GPT 的分区格式喔!这样会观察磁盘分区了吗?接下来要来操作磁盘分区了喔!

2 磁盘分区: gdisk/fdisk

接下来我们想要进行磁盘分区啰!要注意的是:“MBR 分区表请使用 fdisk 分区, GPT 分区表请使用 gdisk 分区!” 这个不要搞错~否则会分区失败的!另外,这两个工具软件的操作很类似,执行了该软件后,可以通过该软件内部的说明数据来操作, 因此不需要硬背!只要知道方法即可。刚刚从上面 parted 的输出结果,我们也知道鸟哥这个测试机使用的是 GPT 分区, 因此下面通通得要使用 gdisk 来分区才行!

2.1 gdisk

语法: [root@study ~]# gdisk 设备名称

范例:由前一小节的 lsblk 输出,我们知道系统有个 /dev/vda,请观察该磁盘的分区与相关数据:

[root@paas-controller-3:/home/pict]$ gdisk /dev/vda '


【本文地址】


今日新闻


推荐新闻


    CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3