lsblk [options] [device]
选项与参数:
-d :仅列出磁盘本身,并不会列出该磁盘的分区数据
-f :同时列出该磁盘内的文件系统名称
-i :使用 ASCII 的线段输出,不要使用复杂的编码 (再某些环境下很有用)
-m :同时输出该装置在 /dev 底下的权限数据 (rwx 的数据)
-p :列出该装置的完整文件名!而不是仅列出最后的名字而已。
-t :列出该磁盘装置的详细数据,包括磁盘队列机制、预读写的数据量大小等
[root@localhost ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 60G 0 disk
├─sda1 8:1 0 1G 0 part /boot
└─sda2 8:2 0 59G 0 part
├─centos-root 253:0 0 38.3G 0 lvm /
├─centos-swap 253:1 0 2G 0 lvm [SWAP]
└─centos-home 253:2 0 18.7G 0 lvm /home
sr0 11:0 1 4.4G 0 rom
说明:
NAME: 就是装置的文件名啰!会省略 /dev 等前导目录!
MAJ:MIN: 其实核心认识的装置都是透过这两个代码来熟悉的!分别是主要:次要装置代码!
RM: 是否为可卸除装置 (removable device),如光盘、USB 磁盘等等
SIZE: 当然就是容量啰!
RO: 是否为只读装置的意思
TYPE: 是磁盘 (disk)、分区槽 (partition) 还是只读存储器 (rom) 等输出
MOUTPOINT: 就是前一章谈到的挂载点!
UUID 是全局单一标识符(universally unique identifier),是linux给所有装置给予一个独一无二的名称。这个标识符可以拿来作为挂载或者使用这个装置/文件系统使用。
列出uuid 的两个命令
lskid
or
lsblk -f
lskid 和 lskld -f 两个命令输出的结果如下:
lskid
[root@localhost ~]# blkid
/dev/sda1: UUID="e5548780-4efe-4e5c-a3d2-e90efd45a2f1" TYPE="xfs"
/dev/sda2: UUID="pgjMPn-LItH-xiL0-oA3E-5HiG-rPaU-CNNjH8" TYPE="LVM2_member"
/dev/sr0: UUID="2020-11-04-11-36-43-00" LABEL="CentOS 7 x86_64" TYPE="iso9660" PTTYPE="dos"
/dev/mapper/centos-root: UUID="62d5cbe2-e8f7-4c67-bb63-e4727c4a560b" TYPE="xfs"
/dev/mapper/centos-swap: UUID="146e30ba-9b93-4a5b-8e69-fb8ffc6a7179" TYPE="swap"
/dev/mapper/centos-home: UUID="c5fe153e-5752-4129-b47a-937f312fd5dd" TYPE="xfs"
lsblk -f
[root@localhost ~]# lsblk -f
NAME FSTYPE LABEL UUID MOUNTPOINT
sda
├─sda1 xfs e5548780-4efe-4e5c-a3d2-e90efd45a2f1 /boot
└─sda2 LVM2_member pgjMPn-LItH-xiL0-oA3E-5HiG-rPaU-CNNjH8
├─centos-root xfs 62d5cbe2-e8f7-4c67-bb63-e4727c4a560b /
├─centos-swap swap 146e30ba-9b93-4a5b-8e69-fb8ffc6a7179 [SWAP]
└─centos-home xfs c5fe153e-5752-4129-b47a-937f312fd5dd /home
sr0 iso9660 CentOS 7 x86_64 2020-11-04-11-36-43-00
如果磁盘没有UUID ,则代表没有挂载磁盘,可以格式化来生成UUID后进行挂载。例如sdb就没有格式化
[root@localhost ~]# lsblk -f
NAME FSTYPE LABEL UUID MOUNTPOINT
sda
├─sda1 xfs e5548780-4efe-4e5c-a3d2-e90efd45a2f1 /boot
└─sda2 LVM2_member pgjMPn-LItH-xiL0-oA3E-5HiG-rPaU-CNNjH8
├─centos-root xfs 62d5cbe2-e8f7-4c67-bb63-e4727c4a560b /
├─centos-swap swap 146e30ba-9b93-4a5b-8e69-fb8ffc6a7179 [SWAP]
└─centos-home xfs c5fe153e-5752-4129-b47a-937f312fd5dd /home
sdb
sr0 iso9660 CentOS 7 x86_64 2020-11-04-11-36-43-00
第一步:查看需要挂载的磁盘名称
lsblk
[root@localhost ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 60G 0 disk
├─sda1 8:1 0 1G 0 part /boot
└─sda2 8:2 0 59G 0 part
├─centos-root 253:0 0 38.3G 0 lvm /
├─centos-swap 253:1 0 2G 0 lvm [SWAP]
└─centos-home 253:2 0 18.7G 0 lvm /home
sdb 8:16 0 1G 0 disk
sr0 11:0 1 4.4G 0 rom
第二步:对sdb磁盘进行分区。按照下面的步骤来添加分区。
[root@localhost ~]# fdisk /dev/sdb
欢迎使用 fdisk (util-linux 2.23.2)。
更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。
Device does not contain a recognized partition table
使用磁盘标识符 0x6f90bd1f 创建新的 DOS 磁盘标签。
命令(输入 m 获取帮助):m
命令操作
a toggle a bootable flag
b edit bsd disklabel
c toggle the dos compatibility flag
d delete a partition
g create a new empty GPT partition table
G create an IRIX (SGI) partition table
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)
命令(输入 m 获取帮助):n
Partition type:
p primary (0 primary, 0 extended, 4 free)
e extended
Select (default p): p
分区号 (1-4,默认 1):1
起始 扇区 (2048-2097151,默认为 2048):
将使用默认值 2048
Last 扇区, +扇区 or +size{K,M,G} (2048-2097151,默认为 2097151):
将使用默认值 2097151
分区 1 已设置为 Linux 类型,大小设为 1023 MiB
命令(输入 m 获取帮助):m
命令操作
a toggle a bootable flag
b edit bsd disklabel
c toggle the dos compatibility flag
d delete a partition
g create a new empty GPT partition table
G create an IRIX (SGI) partition table
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)
命令(输入 m 获取帮助):w
The partition table has been altered!
Calling ioctl() to re-read partition table.
正在同步磁盘。
[root@localhost ~]#
第三步:查看是否已分区
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 60G 0 disk
├─sda1 8:1 0 1G 0 part /boot
└─sda2 8:2 0 59G 0 part
├─centos-root 253:0 0 38.3G 0 lvm /
├─centos-swap 253:1 0 2G 0 lvm [SWAP]
└─centos-home 253:2 0 18.7G 0 lvm /home
sdb 8:16 0 1G 0 disk
└─sdb1 8:17 0 1023M 0 part
sr0 11:0 1 4.4G 0 rom
mkfs.xfs [options] [分区]
options参数说明:
-b 分区时设定每个数据区块占用空间大小,目前支持1024, 2048 以及4096 bytes每个块。
-i 设定inode的大小
-N 设定inode数量,有时使用默认的inode数不够用,所以要自定设定inode数量。
-c 在格式化前先检测一下磁盘是否有问题,加上这个选项后会非常慢
-L 预设该分区的标签label
-j 建立ext3格式的分区,如果使用mkfs.ext3 就不用加这个选项了
-t 用来指定什么类型的文件系统,可以是ext2, ext3 也可以是 ext4.
将上面刚分区的磁盘,进行格式化操作。
[root@localhost ~]# mkfs.xfs /dev/sdb1
meta-data=/dev/sdb1 isize=512 agcount=4, agsize=65472 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=0, sparse=0
data = bsize=4096 blocks=261888, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=1
log =internal log bsize=4096 blocks=855, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
初始化成功之后,会生成一个唯一标识符。
sdb
└─sdb1 ext4 c91e068e-0d77-40ba-979f-427c705830dd
使用下面的目录挂载分区时,当电脑重启后,mount命令的挂载将会作废。
mount 分区 目录
//使用mount将sdb1分区挂载到/sdb_dir 目录
[root@localhost /]# mount /dev/sd
sda sda1 sda2 sdb sdb1
[root@localhost /]# mount /dev/sdb1 /sdb_dir/
// 查看sdb1分区挂载情况,挂载成功
[root@localhost /]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 60G 0 disk
├─sda1 8:1 0 1G 0 part /boot
└─sda2 8:2 0 59G 0 part
├─centos-root 253:0 0 38.3G 0 lvm /
├─centos-swap 253:1 0 2G 0 lvm [SWAP]
└─centos-home 253:2 0 18.7G 0 lvm /home
sdb 8:16 0 1G 0 disk
└─sdb1 8:17 0 1023M 0 part /sdb_dir
sr0 11:0 1 4.4G 0 rom
现在重启一下服务器,再查看一下sdb1的分区挂载情况。
[root@localhost ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 60G 0 disk
├─sda1 8:1 0 1G 0 part /boot
└─sda2 8:2 0 59G 0 part
├─centos-root 253:0 0 38.3G 0 lvm /
├─centos-swap 253:1 0 2G 0 lvm [SWAP]
└─centos-home 253:2 0 18.7G 0 lvm /home
sdb 8:16 0 1G 0 disk
└─sdb1 8:17 0 1023M 0 part
sr0 11:0 1 4.4G 0 rom
重启后,查看分区情况。发现上面的代码中sdb1 分区没有被挂载。也就说明,mount命令挂载分区时,重启之后,之前的挂载将不复存在。每次开机都需要重新挂载一才行。如果不想麻烦,可以使用下面的永久挂载方法。
将挂载配置写入到/etc/fstab文件中。
vim /etc/fstab
[root@localhost ~]# vi /etc/fstab
#
# /etc/fstab
# Created by anaconda on Sun Nov 13 22:26:41 2022
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
/dev/mapper/centos-root / xfs defaults 0 0
UUID=e5548780-4efe-4e5c-a3d2-e90efd45a2f1 /boot xfs defaults 0 0
/dev/mapper/centos-home /home xfs defaults 0 0
/dev/mapper/centos-swap swap swap defaults 0 0
/dev/sdb1 / xfs defaults 0 0
写入
//写入分区路径 或 分区UUID 都可以 文件类型 默认 文件开始位置
/dev/sdb1 / xfs defaults 0 0
umount 目录
如果是是使用mount挂载,则使用umount进行卸载即可。如果是/etc/fstab文件里挂载,再进入文件删除对应的挂载点,重启即可。