Linux基础(十)——磁盘分区、格式化、检验和挂载

news2024/11/26 22:45:06

磁盘分区、格式化、检验和挂载

  • 1.观察磁盘的分区状态
  • 2.UUID
  • 3.磁盘分区(gdisk/fdisk)
    • 3.1 gdisk
    • 3.2 fdisk
  • 4.磁盘的格式化
    • 4.1 XFS文件系统的格式化
    • 4.2 ext4文件系统的格式化
  • 5.文件系统的救援
  • 6.文件系统的挂载与卸载
    • 6.1 挂载
    • 6.2 卸载
  • 7.设置开机挂载
  • 8.特殊设备loop的挂载

磁盘使用的过程:分区---->格式化---->挂载

1.观察磁盘的分区状态

在这里插入图片描述
使用lsblk(list block device)命令

[root@CentOS7 tmp]# lsblk
NAME            MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda               8:0    0   40G  0 disk 
├─sda1            8:1    0    2M  0 part 
├─sda2            8:2    0    1G  0 part /boot
└─sda3            8:3    0   30G  0 part 
  ├─centos-root 253:0    0   10G  0 lvm  /
  ├─centos-swap 253:1    0    1G  0 lvm  [SWAP]
  └─centos-home 253:2    0    5G  0 lvm  /home
sr0              11:0    1  9.5G  0 rom  /run/media/fle/CentOS 7 x86_64

NAME: 就是设备的文件名啰! 会省略 /dev 等前导目录!
MAJ:MIN: 其实核心认识的设备都是通过这两个代码来熟悉的! 分别是主要: 次要设备代码!
RM: 是否为可卸载设备 ( removable device) , 如光盘、 USB 磁盘等等
SIZE: 当然就是容量啰!
RO: 是否为只读设备的意思
TYPE: 是磁盘 ( disk) 、 分区 ( partition) 还是只读存储器 ( rom) 等输出
MOUTPOINT: 挂载点!

2.UUID

UUID(Universally Unique Identifier,全局唯一标识符)是一种用于标识信息的标准格式。UUID 由一串32个十六进制数字组成,通常表示为36个字符的字符串,分为5组,格式为:8-4-4-4-12(例如:550e8400-e29b-41d4-a716-446655440000)。

UUID 的特点:
①唯一性:UUID的设计确保生成的ID几乎不可能重复,适合在分布式系统中唯一标识对象。
②长度固定:UUID的格式和长度固定(128位),方便存储和传输。
③无需中央协调:每台机器可以独立生成UUID,无需联网或同步。

在Linux系统中,UUID常用于标识磁盘分区,确保分区在不同系统中识别一致。

查看UUID:blkid命令

[root@CentOS7 tmp]# blkid
/dev/sda1: PARTUUID="ee5b642b-cbf7-4043-b414-0784dd0c429b" 
/dev/sda2: UUID="60caebd2-29b8-4348-a776-fcca119a58c5" TYPE="xfs" PARTUUID="eeead530-a502-459e-bb53-1b9b3e34b760" 
/dev/sda3: UUID="m5IDTu-EMzJ-xgVZ-4Thh-BF9N-8tJz-vx7RuK" TYPE="LVM2_member" PARTUUID="a52a4532-cfbe-4559-8710-ff9d3a569a34" 
/dev/sr0: UUID="2020-11-02-15-15-23-00" LABEL="CentOS 7 x86_64" TYPE="iso9660" PTTYPE="dos" 
/dev/mapper/centos-root: UUID="e0d1cec5-d50c-467f-97a9-a59ad8472a00" TYPE="xfs" 
/dev/mapper/centos-swap: UUID="23d6d567-b1ca-4669-9b77-dcac5240a615" TYPE="swap" 
/dev/mapper/centos-home: UUID="3e14987f-a7fa-441e-b3f8-c1a952ce7cf0" TYPE="xfs" 

Linux 会将系统内所有的设备都给予一个独一无二的识别码, 这个识别码就可以拿来作为挂载或者是使用这个设备/文件系统之用了。上面的sda就表示硬盘,sr0表示的是挂载的Centos7镜像,centos-root、centos-swap、centos-home则是由LVM创建的逻辑分区。
Tips:GUID其实和UUID没什么区别

3.磁盘分区(gdisk/fdisk)

3.1 gdisk

由第1小节知道,Centos7所在的磁盘为sda。首先使用parted命令来确定sda是GPT还是MBR:

[root@CentOS7 ~]# parted /dev/sda print
Model: VMware, VMware Virtual S (scsi)
Disk /dev/sda: 42.9GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags: pmbr_boot

Number  Start   End     Size    File system  Name  标志
 1      1049kB  3146kB  2097kB                     bios_grub
 2      3146kB  1077MB  1074MB  xfs
 3      1077MB  33.3GB  32.2GB                     lvm

从上面可以看出,分区表的格式为GPT,且有3个分区。
既然为GPT分区格式,那么就使用gdisk来进行分区:

[root@CentOS7 ~]# gdisk /dev/sda
GPT fdisk (gdisk) version 0.8.10

Partition table scan:
  MBR: protective
  BSD: not present
  APM: not present
  GPT: present

Found valid GPT with protective MBR; using GPT.

Command (? for help): ?
b	back up GPT data to a file
c	change a partition's name
d	delete a partition
i	show detailed information on a partition
l	list known partition types
n	add a new partition
o	create a new empty GUID partition table (GPT)
p	print the partition table
q	quit without saving changes
r	recovery and transformation options (experts only)
s	sort partitions
t	change a partition's type code
v	verify disk
w	write table to disk and exit
x	extra functionality (experts only)
?	print this menu

Command (? for help): p
Disk /dev/sda: 83886080 sectors, 40.0 GiB
Logical sector size: 512 bytes
Disk identifier (GUID): 03D323D1-52D7-4E86-8C87-15F5377B5FCA
Partition table holds up to 128 entries
First usable sector is 34, last usable sector is 83886046
Partitions will be aligned on 2048-sector boundaries
Total free space is 18862013 sectors (9.0 GiB)

Number  Start (sector)    End (sector)  Size       Code  Name
   1            2048            6143   2.0 MiB     EF02  
   2            6144         2103295   1024.0 MiB  0700  
   3         2103296        65026047   30.0 GiB    8E00  

Command (? for help): 

从上面可以看到,我们可以用?来列出所有的可选命令。p明令打印的分区表,可以看到,三个分区使用的扇区为2048-65026047,而总的可用扇区为34-83886046,其实也就是还剩下9GB可以使用。所以我们可以拿这9GB进行分区的测试。
对于分区表,每一项的意义如下所示:
在这里插入图片描述
Tips:注意gdisk或者是fdisk都是针对的硬盘,而不是分区,所以是gdisk /dev/sda而不是gdisk /dev/sda1
下面进行分区:
在这里插入图片描述
其中,Linxu文件系统的Code为8300,Window文件系统为0700,Linux swap为8200

[root@CentOS7 ~]# gdisk /dev/sda
GPT fdisk (gdisk) version 0.8.10

Partition table scan:
  MBR: protective
  BSD: not present
  APM: not present
  GPT: present

Found valid GPT with protective MBR; using GPT.

Command (? for help): ?
b	back up GPT data to a file
c	change a partition's name
d	delete a partition
i	show detailed information on a partition
l	list known partition types
n	add a new partition
o	create a new empty GUID partition table (GPT)
p	print the partition table
q	quit without saving changes
r	recovery and transformation options (experts only)
s	sort partitions
t	change a partition's type code
v	verify disk
w	write table to disk and exit
x	extra functionality (experts only)
?	print this menu

Command (? for help): p
Disk /dev/sda: 83886080 sectors, 40.0 GiB
Logical sector size: 512 bytes
Disk identifier (GUID): 03D323D1-52D7-4E86-8C87-15F5377B5FCA
Partition table holds up to 128 entries
First usable sector is 34, last usable sector is 83886046
Partitions will be aligned on 2048-sector boundaries
Total free space is 18862013 sectors (9.0 GiB)

Number  Start (sector)    End (sector)  Size       Code  Name
   1            2048            6143   2.0 MiB     EF02  
   2            6144         2103295   1024.0 MiB  0700  
   3         2103296        65026047   30.0 GiB    8E00  

Command (? for help): n
Partition number (4-128, default 4): 
First sector (34-83886046, default = 65026048) or {+-}size{KMGTP}: 
Last sector (65026048-83886046, default = 83886046) or {+-}size{KMGTP}: +1G
Current type is 'Linux filesystem'
Hex code or GUID (L to show codes, Enter = 8300): L
0700 Microsoft basic data  0c01 Microsoft reserved    2700 Windows RE          
3000 ONIE boot             3001 ONIE config           4100 PowerPC PReP boot   
4200 Windows LDM data      4201 Windows LDM metadata  7501 IBM GPFS            
7f00 ChromeOS kernel       7f01 ChromeOS root         7f02 ChromeOS reserved   
8200 Linux swap            8300 Linux filesystem      8301 Linux reserved      
8302 Linux /home           8400 Intel Rapid Start     8e00 Linux LVM           
a500 FreeBSD disklabel     a501 FreeBSD boot          a502 FreeBSD swap        
a503 FreeBSD UFS           a504 FreeBSD ZFS           a505 FreeBSD Vinum/RAID  
a580 Midnight BSD data     a581 Midnight BSD boot     a582 Midnight BSD swap   
a583 Midnight BSD UFS      a584 Midnight BSD ZFS      a585 Midnight BSD Vinum  
a800 Apple UFS             a901 NetBSD swap           a902 NetBSD FFS          
a903 NetBSD LFS            a904 NetBSD concatenated   a905 NetBSD encrypted    
a906 NetBSD RAID           ab00 Apple boot            af00 Apple HFS/HFS+      
af01 Apple RAID            af02 Apple RAID offline    af03 Apple label         
af04 AppleTV recovery      af05 Apple Core Storage    be00 Solaris boot        
bf00 Solaris root          bf01 Solaris /usr & Mac Z  bf02 Solaris swap        
bf03 Solaris backup        bf04 Solaris /var          bf05 Solaris /home       
bf06 Solaris alternate se  bf07 Solaris Reserved 1    bf08 Solaris Reserved 2  
bf09 Solaris Reserved 3    bf0a Solaris Reserved 4    bf0b Solaris Reserved 5  
c001 HP-UX data            c002 HP-UX service         ea00 Freedesktop $BOOT   
eb00 Haiku BFS             ed00 Sony system partitio  ed01 Lenovo system partit
Press the <Enter> key to see more codes: 
ef00 EFI System            ef01 MBR partition scheme  ef02 BIOS boot partition 
fb00 VMWare VMFS           fb01 VMWare reserved       fc00 VMWare kcore crash p
fd00 Linux RAID            
Hex code or GUID (L to show codes, Enter = 8300): 
Changed type of partition to 'Linux filesystem'

Command (? for help): p
Disk /dev/sda: 83886080 sectors, 40.0 GiB
Logical sector size: 512 bytes
Disk identifier (GUID): 03D323D1-52D7-4E86-8C87-15F5377B5FCA
Partition table holds up to 128 entries
First usable sector is 34, last usable sector is 83886046
Partitions will be aligned on 2048-sector boundaries
Total free space is 16764861 sectors (8.0 GiB)

Number  Start (sector)    End (sector)  Size       Code  Name
   1            2048            6143   2.0 MiB     EF02  
   2            6144         2103295   1024.0 MiB  0700  
   3         2103296        65026047   30.0 GiB    8E00  
   4        65026048        67123199   1024.0 MiB  8300  Linux filesystem

Command (? for help): n
Partition number (5-128, default 5): 
First sector (34-83886046, default = 67123200) or {+-}size{KMGTP}: 
Last sector (67123200-83886046, default = 83886046) or {+-}size{KMGTP}: +1G
Current type is 'Linux filesystem'
Hex code or GUID (L to show codes, Enter = 8300): 0700
Changed type of partition to 'Microsoft basic data'

Command (? for help): p
Disk /dev/sda: 83886080 sectors, 40.0 GiB
Logical sector size: 512 bytes
Disk identifier (GUID): 03D323D1-52D7-4E86-8C87-15F5377B5FCA
Partition table holds up to 128 entries
First usable sector is 34, last usable sector is 83886046
Partitions will be aligned on 2048-sector boundaries
Total free space is 14667709 sectors (7.0 GiB)

Number  Start (sector)    End (sector)  Size       Code  Name
   1            2048            6143   2.0 MiB     EF02  
   2            6144         2103295   1024.0 MiB  0700  
   3         2103296        65026047   30.0 GiB    8E00  
   4        65026048        67123199   1024.0 MiB  8300  Linux filesystem
   5        67123200        69220351   1024.0 MiB  0700  Microsoft basic data

Command (? for help): n
Partition number (6-128, default 6): 
First sector (34-83886046, default = 69220352) or {+-}size{KMGTP}: 
Last sector (69220352-83886046, default = 83886046) or {+-}size{KMGTP}: +0.5G
Current type is 'Linux filesystem'
Hex code or GUID (L to show codes, Enter = 8300): 8200
Changed type of partition to 'Linux swap'

Command (? for help): p
Disk /dev/sda: 83886080 sectors, 40.0 GiB
Logical sector size: 512 bytes
Disk identifier (GUID): 03D323D1-52D7-4E86-8C87-15F5377B5FCA
Partition table holds up to 128 entries
First usable sector is 34, last usable sector is 83886046
Partitions will be aligned on 2048-sector boundaries
Total free space is 2014 sectors (1007.0 KiB)

Number  Start (sector)    End (sector)  Size       Code  Name
   1            2048            6143   2.0 MiB     EF02  
   2            6144         2103295   1024.0 MiB  0700  
   3         2103296        65026047   30.0 GiB    8E00  
   4        65026048        67123199   1024.0 MiB  8300  Linux filesystem
   5        67123200        69220351   1024.0 MiB  0700  Microsoft basic data
   6        69220352        83886046   7.0 GiB     8200  Linux swap

Command (? for help): d 
Partition number (1-6): 6

Command (? for help): p
Disk /dev/sda: 83886080 sectors, 40.0 GiB
Logical sector size: 512 bytes
Disk identifier (GUID): 03D323D1-52D7-4E86-8C87-15F5377B5FCA
Partition table holds up to 128 entries
First usable sector is 34, last usable sector is 83886046
Partitions will be aligned on 2048-sector boundaries
Total free space is 14667709 sectors (7.0 GiB)

Number  Start (sector)    End (sector)  Size       Code  Name
   1            2048            6143   2.0 MiB     EF02  
   2            6144         2103295   1024.0 MiB  0700  
   3         2103296        65026047   30.0 GiB    8E00  
   4        65026048        67123199   1024.0 MiB  8300  Linux filesystem
   5        67123200        69220351   1024.0 MiB  0700  Microsoft basic data

Command (? for help): n
Partition number (6-128, default 6): 
First sector (34-83886046, default = 69220352) or {+-}size{KMGTP}: 
Last sector (69220352-83886046, default = 83886046) or {+-}size{KMGTP}: +500M
Current type is 'Linux filesystem'
Hex code or GUID (L to show codes, Enter = 8300): 8200
Changed type of partition to 'Linux swap'

Command (? for help): p
Disk /dev/sda: 83886080 sectors, 40.0 GiB
Logical sector size: 512 bytes
Disk identifier (GUID): 03D323D1-52D7-4E86-8C87-15F5377B5FCA
Partition table holds up to 128 entries
First usable sector is 34, last usable sector is 83886046
Partitions will be aligned on 2048-sector boundaries
Total free space is 13643709 sectors (6.5 GiB)

Number  Start (sector)    End (sector)  Size       Code  Name
   1            2048            6143   2.0 MiB     EF02  
   2            6144         2103295   1024.0 MiB  0700  
   3         2103296        65026047   30.0 GiB    8E00  
   4        65026048        67123199   1024.0 MiB  8300  Linux filesystem
   5        67123200        69220351   1024.0 MiB  0700  Microsoft basic data
   6        69220352        70244351   500.0 MiB   8200  Linux swap

可以看到上面有一个插曲,新增sda6分区的时候,使用+0.5G选项时并不能正确分配500M,因为不支持浮点数,所以应该使用+500M
接下来,将配置好的分区设置生效:

Command (? for help): w

Final checks complete. About to write GPT data. THIS WILL OVERWRITE EXISTING
PARTITIONS!!

Do you want to proceed? (Y/N): y
OK; writing new GUID partition table (GPT) to /dev/sda.
Warning: The kernel is still using the old partition table.
The new table will be used at the next reboot.
The operation has completed successfully.

通过partprobe更新Linux核心的分区表:

[root@CentOS7 ~]# lsblk
NAME            MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda               8:0    0   40G  0 disk 
├─sda1            8:1    0    2M  0 part 
├─sda2            8:2    0    1G  0 part /boot
└─sda3            8:3    0   30G  0 part 
  ├─centos-root 253:0    0   10G  0 lvm  /
  ├─centos-swap 253:1    0    1G  0 lvm  [SWAP]
  └─centos-home 253:2    0    5G  0 lvm  /home
sr0              11:0    1  9.5G  0 rom  /run/media/fle/CentOS 7 x86_64
[root@CentOS7 ~]# partprobe -s
/dev/sda: gpt partitions 1 2 3 4 5 6
Warning: 无法以读写方式打开 /dev/sr0 (只读文件系统)。/dev/sr0 已按照只读方式打开。
/dev/sr0: msdos partitions 2
[root@CentOS7 ~]# lsblk
NAME            MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda               8:0    0   40G  0 disk 
├─sda1            8:1    0    2M  0 part 
├─sda2            8:2    0    1G  0 part /boot
├─sda3            8:3    0   30G  0 part 
│ ├─centos-root 253:0    0   10G  0 lvm  /
│ ├─centos-swap 253:1    0    1G  0 lvm  [SWAP]
│ └─centos-home 253:2    0    5G  0 lvm  /home
├─sda4            8:4    0    1G  0 part 
├─sda5            8:5    0    1G  0 part 
└─sda6            8:6    0  500M  0 part 
sr0              11:0    1  9.5G  0 rom  /run/media/fle/CentOS 7 x86_64

3.2 fdisk

fdisk是针对MBR分区格式的,大体和gdisk是一样的,可以查看具体的命令如下:

[root@CentOS7 ~]# gdisk /dev/sda
GPT fdisk (gdisk) version 0.8.10

Partition table scan:
  MBR: protective
  BSD: not present
  APM: not present
  GPT: present

Found valid GPT with protective MBR; using GPT.

Command (? for help): ?
b	back up GPT data to a file
c	change a partition's name
d	delete a partition
i	show detailed information on a partition
l	list known partition types
n	add a new partition
o	create a new empty GUID partition table (GPT)
p	print the partition table
q	quit without saving changes
r	recovery and transformation options (experts only)
s	sort partitions
t	change a partition's type code
v	verify disk
w	write table to disk and exit
x	extra functionality (experts only)
?	print this menu

Command (? for help): 

4.磁盘的格式化

4.1 XFS文件系统的格式化

在这里插入图片描述
将上面的sda4格式化为xfs文件系统:

[root@CentOS7 ~]# mkfs.xfs /dev/sda4
meta-data=/dev/sda4              isize=512    agcount=4, agsize=65536 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=0, sparse=0
data     =                       bsize=4096   blocks=262144, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
log      =internal log           bsize=4096   blocks=2560, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0
[root@CentOS7 ~]# blkid /dev/sda4
/dev/sda4: UUID="adf4236a-63e6-4fd7-bfa8-84e34f914193" TYPE="xfs" PARTLABEL="Linux filesystem" PARTUUID="a1d5ff70-7885-4f6d-8827-a5e48697dd4e" 

每个文件系统的 UUID 是唯一的,即使格式相同的两个分区也会有不同的 UUID。PARTUUID 是分区表中的一个全局唯一的标识符,确保在不同设备上识别分区。

4.2 ext4文件系统的格式化

在这里插入图片描述
将sda5格式化为ext4

[root@CentOS7 ~]# blkid /dev/sda5
/dev/sda5: PARTLABEL="Microsoft basic data" PARTUUID="de0b15d4-f3df-4e2e-a279-b4c2f399ab1d" 
[root@CentOS7 ~]# mkfs.ext4 /dev/sda5
mke2fs 1.42.9 (28-Dec-2013)
文件系统标签=
OS type: Linux
块大小=4096 (log=2)
分块大小=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
65536 inodes, 262144 blocks
13107 blocks (5.00%) reserved for the super user
第一个数据块=0
Maximum filesystem blocks=268435456
8 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks: 
	32768, 98304, 163840, 229376

Allocating group tables: 完成                            
正在写入inode表: 完成                            
Creating journal (8192 blocks): 完成
Writing superblocks and filesystem accounting information: 完成

[root@CentOS7 ~]# blkid /dev/sda5
/dev/sda5: UUID="4c118109-8dbc-4ea1-bf54-02af5d66ca54" TYPE="ext4" PARTLABEL="Microsoft basic data" PARTUUID="de0b15d4-f3df-4e2e-a279-b4c2f399ab1d" 

Tips:其他文件系统的格式化mkfs -t vfat /dev/sda5

5.文件系统的救援

xfs:
在这里插入图片描述
ext4:
在这里插入图片描述

6.文件系统的挂载与卸载

6.1 挂载

一个磁盘分区被格式化为某种文件系统后,还不能直接使用这块分区,需要将这个文件系统(或者说是磁盘分区)挂载到某一个目录,然后通过这个目录就可以访问这块磁盘分区了
挂载的条件:
①单一文件系统不应该被重复挂载在不同的挂载点( 目录) 中;
②单一目录不应该重复挂载多个文件系统;
③要作为挂载点的目录, 理论上应该都是空目录才是。
在这里插入图片描述
/dev/sda4挂载到/data/xfs/dev/sda5挂载到/data/ext4:

[root@CentOS7 /]# cd ~
[root@CentOS7 ~]# mkdir -p /data/xfs /data/ext4
[root@CentOS7 ~]# cd /data
[root@CentOS7 data]# ls
ext4  xfs
[root@CentOS7 data]# mount /dev/sda4 /data/xfs
[root@CentOS7 data]# blkid /dev/sda5
/dev/sda5: UUID="4c118109-8dbc-4ea1-bf54-02af5d66ca54" TYPE="ext4" PARTLABEL="Microsoft basic data" PARTUUID="de0b15d4-f3df-4e2e-a279-b4c2f399ab1d" 
[root@CentOS7 data]# mount UUID="4c118109-8dbc-4ea1-bf54-02af5d66ca54" /data/ext4
[root@CentOS7 data]# df /dev/sda4 /dev/sda5
文件系统         1K-块  已用    可用 已用% 挂载点
/dev/sda4      1038336 32992 1005344    4% /data/xfs
/dev/sda5       999320  2564  927944    1% /data/ext4

挂载的时候可以用设备名称/dev/sda4,也可以用设备的UUID进行挂载。

6.2 卸载

在这里插入图片描述
卸载sda4和sda5的挂载:
首先查看挂载情况:

[root@CentOS7 data]# mount
。。。
binfmt_misc on /proc/sys/fs/binfmt_misc type binfmt_misc (rw,relatime)
/dev/sda4 on /data/xfs type xfs (rw,relatime,attr2,inode64,noquota)
/dev/sda5 on /data/ext4 type ext4 (rw,relatime,data=ordered)

卸载:

[root@CentOS7 data]# umount /dev/sda4
[root@CentOS7 data]# umount /data/ext4
[root@CentOS7 data]# mount
。。。
binfmt_misc on /proc/sys/fs/binfmt_misc type binfmt_misc (rw,relatime)
[root@CentOS7 data]# df /dev/sda4 /dev/sda5
文件系统        1K-块  已用   可用 已用% 挂载点
devtmpfs       480824     0 480824    0% /dev
devtmpfs       480824     0 480824    0% /dev

卸载的时候,可以用设备名,也可以用挂载的目录名。
Tips:在挂载的目录下卸载肯定是会失败的,退出即可

[root@CentOS7 data]# mount /dev/sda4 /data/xfs
[root@CentOS7 data]# df /dev/sda4
文件系统         1K-块  已用    可用 已用% 挂载点
/dev/sda4      1038336 32992 1005344    4% /data/xfs
[root@CentOS7 data]# cd xfs
[root@CentOS7 xfs]# umount /dev/sda4 
umount: /data/xfs:目标忙。
        (有些情况下通过 lsof(8) 或 fuser(1) 可以
         找到有关使用该设备的进程的有用信息)
[root@CentOS7 xfs]# cd ..
[root@CentOS7 data]# umount /dev/sda4
[root@CentOS7 data]# df /dev/sda4
文件系统        1K-块  已用   可用 已用% 挂载点
devtmpfs       480824     0 480824    0% /dev

7.设置开机挂载

与挂载相关的文件为/etc/fstab。查看其内容如下:

[root@CentOS7 data]# cat /etc/fstab

#
# /etc/fstab
# Created by anaconda on Sat May 18 20:56:44 2024
#
# 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=60caebd2-29b8-4348-a776-fcca119a58c5 /boot                   xfs     defaults        0 0
/dev/mapper/centos-home /home                   xfs     defaults,uquota,pquota  0 0
/dev/mapper/centos-swap swap                    swap    defaults        0 0

可以看到这个文件只记录了三个挂载点,每一行有6个项:[设备/UUID等] [挂载点] [文件系统] [文件系统参数] [dump] [fsck]
①[设备/UUID等]
这个字段可以填写的数据主要有三个项目:
文件系统或磁盘的设备文件名, 如 /dev/vda2 等;
文件系统的 UUID 名称, 如 UUID=xxx;
文件系统的 LABEL 名称, 例如 LABEL=xxx
②挂载点
一定是目录
③文件系统
在手动挂载时可以让系统自动测试挂载, 但在这个文件当中我们必须要手动写入文件系统才行! 包括 xfs, ext4, vfat,reiserfs, nfs 等等。
④文件系统参数
在这里插入图片描述
⑤dump
dump 是一个用来做为备份的指令, 不过现在有太多的备份方案了, 所以这个项目可以不要理会啦! 直接输入 0 就好了!
⑥fsck
早期开机的流程中, 会有一段时间去检验本机的文件系统, 看看文件系统是否完整( clean) 。 不过这个方式使用的主要是通过 fsck 去做的, 我们现在用的 xfs 文件系统就没有办法适用, 因为 xfs 会自己进行检验, 不需要额外进行这个动作! 所以直接填 0 就好了。

/etc/fstab 是开机时的配置文件, 不过, 实际 filesystem 的挂载是记录到 /etc/mtab 与/proc/mounts 这两个文件当中的。 每次我们在更动 filesystem 的挂载时, 也会同时更动这两个文件喔! 但是, 万一发生你在 /etc/fstab 输入的数据错误, 导致无法顺利开机成功, 而进入单人维护模式当中, 那时候的 / 可是 read only 的状态, 当然你就无法修改 /etc/fstab , 也无法更新 /etc/mtab 啰~那怎么办? 没关系, 可以利用下面这一招:[root@study ~]# mount -n -o remount,rw /

下面将sda4和sda5添加到开机挂载(写入之前先把挂载卸载掉,便于后面测试,确保没写错,不然开机的时候执行/etc/fstab出错是很麻烦的):

[root@CentOS7 ~]# df /dev/sda4 /dev/sda5
文件系统        1K-块  已用   可用 已用% 挂载点
devtmpfs       480824     0 480824    0% /dev
devtmpfs       480824     0 480824    0% /dev
[root@CentOS7 ~]# nano /etc/fstab
[root@CentOS7 ~]# mount -a
[root@CentOS7 ~]# df /dev/sda4 /dev/sda5
文件系统         1K-块  已用    可用 已用% 挂载点
/dev/sda4      1038336 32992 1005344    4% /data/xfs
/dev/sda5       999320  2564  927944    1% /data/ext4

nano /etc/fstab后写入后的文件内容为:

#
# /etc/fstab
# Created by anaconda on Sat May 18 20:56:44 2024
#
# 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=60caebd2-29b8-4348-a776-fcca119a58c5 /boot                   xfs     defau$
/dev/mapper/centos-home /home                   xfs     defaults,uquota,pquota $
/dev/mapper/centos-swap swap                    swap    defaults	0 0
/dev/sda4      	       	/data/xfs      	       	xfs    	defaults       	0 0
/dev/sda5      	       	/data/ext4     	       	ext4   	defaults       	0 0

mount -a 命令的作用是挂载 /etc/fstab 文件中列出的所有未挂载的文件系统。它会根据 /etc/fstab 文件的内容,将所有设置为 auto 挂载选项的分区挂载到指定的挂载点。

8.特殊设备loop的挂载

想像一下如果今天我们从国家高速网络中心( http://ftp.twaren.net) 或者是昆山科大( http://ftp.ksu.edu.tw) 下载了 Linux 或者是其他所需光盘/DVD的镜像文件后, 难道一定需要烧录成为光盘才能够使用该文件里面的数据吗? 当然不是啦! 我们可以通过 loop 设备来挂载的!

想一想, 既然能够挂载 DVD 的镜像文件, 那么我能不能制作出一个大文件, 然后将这个文件格式化后挂载呢? 好问题! 这是个有趣的动作! 而且还能够帮助我们解决很多系统的分区不良的情况呢! 举例来说, 如果当初在分区时, 你只有分区出一个根目录, 假设你已经没有多余的容量可以进行额外的分区的! 偏偏根目录的容量还很大! 此时你就能够制作出一个大文件, 然后将这个文件挂载! 如此一来感觉上你就多了一个分区啰! 用途非常的广泛啦!

下面我们在 /srv 下创建一个 512MB 左右的大文件, 然后将这个大文件格式化并且实际挂载:
创建大文件的指令:dd
在这里插入图片描述

[root@CentOS7 ~]# ls -a /srv/
.  ..
[root@CentOS7 ~]# dd if=/dev/zero of=/srv/loopdev bs=1M count=512
记录了512+0 的读入
记录了512+0 的写出
536870912字节(537 MB)已复制,0.502918 秒,1.1 GB/秒
[root@CentOS7 ~]# ls -a /srv/
.  ..  loopdev
[root@CentOS7 ~]# ll -h /srv/loopdev 
-rw-r--r-- 1 root root 512M 11月  8 17:12 /srv/loopdev

格式化文件,默认 xfs 不能够格式化文件的, 所以要格式化文件得要加入特别的参数才行:

[root@CentOS7 ~]# mkfs.xfs -f /srv/loopdev 
meta-data=/srv/loopdev           isize=512    agcount=4, agsize=32768 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=0, sparse=0
data     =                       bsize=4096   blocks=131072, 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
[root@CentOS7 ~]# blkid /srv/loopdev
/srv/loopdev: UUID="182c4e1c-0b9b-4ba5-9a8c-985975b12429" TYPE="xfs" 

接下来是挂载(利用 mount 的特殊参数, 那个 -o loop 的参数来处理):

[root@CentOS7 ~]# mount -o loop UUID="182c4e1c-0b9b-4ba5-9a8c-985975b12429" /mnt
[root@CentOS7 ~]# df /mnt
文件系统        1K-块  已用   可用 已用% 挂载点
/dev/loop0     520868 26436 494432    6% /mnt

同样将其写入到开机挂载:

[root@CentOS7 ~]# df /mnt
文件系统        1K-块  已用   可用 已用% 挂载点
/dev/loop0     520868 26436 494432    6% /mnt
[root@CentOS7 ~]# umount UUID="182c4e1c-0b9b-4ba5-9a8c-985975b12429"
[root@CentOS7 ~]# df /mnt
文件系统                   1K-块    已用    可用 已用% 挂载点
/dev/mapper/centos-root 10475520 8403984 2071536   81% /
[root@CentOS7 ~]# nano /etc/fstab
[root@CentOS7 ~]# mkdir -p /data/file
[root@CentOS7 ~]# mount -a
[root@CentOS7 ~]# df /data/file
文件系统        1K-块  已用   可用 已用% 挂载点
/dev/loop0     520868 26436 494432    6% /data/file

nono写入后为(这里就不用/mnt挂载了,而是用 /data/file):

#
# /etc/fstab
# Created by anaconda on Sat May 18 20:56:44 2024
#
# 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=60caebd2-29b8-4348-a776-fcca119a58c5 /boot                   xfs     defau$
/dev/mapper/centos-home /home                   xfs     defaults,uquota,pquota $
/dev/mapper/centos-swap swap                    swap    defaults	0 0
/dev/sda4               /data/xfs               xfs     defaults	0 0
/dev/sda5               /data/ext4              ext4    defaults	0 0
/srv/loopdev            /data/file              xfs     defaults        0 0

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2236136.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Android的BroadcastReceiver

1.基本概念&#xff1a;BroadCast用于进程间或者线程间通信 本质上是用Binder方法&#xff0c;以AMS为订阅中心&#xff0c;完成注册&#xff0c;发布&#xff0c;监听的操作。 2.简单实现的例子 package com.android.car.myapplication;import android.content.BroadcastRe…

一招解决Mac没有剪切板历史记录的问题

使用Mac的朋友肯定都为Mac的剪切功能苦恼过&#xff0c;旧内容覆盖新内容&#xff0c;导致如果有内容需要重复输入的话&#xff0c;就需要一次一次的重复复制粘贴&#xff0c;非常麻烦 但其实Mac也能够有剪切板历史记录功能&#xff0c;iCopy&#xff0c;让你的Mac也能拥有剪切…

利用泰勒公式近似计算10的平方根

文章目录 1. 泰勒公式是什么2、利用泰勒公式计算 10 \sqrt{10} 10 ​第 1 步&#xff1a;泰勒级数展开第 2 步&#xff1a;计算各阶导数第 3 步&#xff1a;在 x 9 x 9 x9 处计算各阶导数第 4 步&#xff1a;构建各阶泰勒展开式第 5 步&#xff1a;计算 f ( 10 ) f(10) f(1…

python-读写Excel:openpyxl-(4)下拉选项设置

使用openpyxl库的DataValidation对象方法可添加下拉选择列表。 DataValidation参数说明&#xff1a; type&#xff1a; 数据类型("whole", "decimal", "list", "date", "time", "textLength", "custom"…

淘宝商品详情API大揭秘:用Python开启探险之旅

淘宝&#xff0c;一个充满奇迹的丛林 在这个名为淘宝的丛林里&#xff0c;每一件商品都是一座神秘的宝藏。而我们&#xff0c;作为勇敢的探险家&#xff0c;将用Python这把瑞士军刀&#xff0c;去揭开这些宝藏的面纱。准备好了吗&#xff1f;让我们一起踏上这段奇妙的探险之旅…

AJAX 全面教程:从基础到高级

AJAX 全面教程&#xff1a;从基础到高级 目录 什么是 AJAXAJAX 的工作原理AJAX 的主要对象AJAX 的基本用法AJAX 与 JSONAJAX 的高级用法AJAX 的错误处理AJAX 的性能优化AJAX 的安全性AJAX 的应用场景总结与展望 什么是 AJAX AJAX&#xff08;Asynchronous JavaScript and XML…

电路设计中的防接反电路

在现代电子产品设计中,防接反电路是确保设备正常运作、避免损坏的重要措施之一。尤其是在日用电器或工厂生产的电子产品中,常常会涉及电源接反的情况。如果产品设计中没有考虑到这一点,可能会导致电路损坏,甚至对使用者造成安全隐患。因此,如何设计有效的防接反电路,是电…

从零开始学习python 7(持续更新ing)

一、Python函数 1.1 函数的定义 函数的定义&#xff1a;实现【特定功能】的代码块。 函数的作用&#xff1a; 简化代码提高代码重用性便于维护和修改提高代码的可扩展性 函数的三要素&#xff1a; 功能 len() max() sum()参数 s.clear() s.append(华清远见)返回值 s.sort()…

NUMAP应用成果亮相中国核学会核反应堆热工流体力学分会第四届学术年会

10月28日-30日&#xff0c;中国核学会核反应堆热工流体力学分会第四届&#xff08;2024年&#xff09;学术年会在北京隆重召开。该学术年会是我国反应堆热工流体领域中方向设置最全、规模最大、最具影响力的学术交流盛会。大会共设置3个专题研讨会、8个主题论坛&#xff0c;组织…

Odoo:免费开源的医药流通行业信息化解决方案

文 / 开源智造Odoo亚太金牌服务 方案概述 开源智造Odoo免费开源ERP提供面向医药批发采、供、销业财一体化&#xff0c;及直接面向消费者的门店终端、全渠道管理、营销管理以及GSP合规管理解决方案&#xff0c;提升企业运营效率和全业务链条的数字化管控、追溯能力。 行业的最新…

支付业务以及支付业务的质量保障

前一段时间要在组里分享支付业务&#xff0c;网上找了很多文章&#xff0c;发现有好多也是我自己写的。回头看看3年前的文章&#xff0c;当时对支付有一定的测试经验&#xff0c;但是对支付的了解也不是很深。 经过这近两年的支付相关的测试经验&#xff0c;对支付业务有了更深…

实现视频一键压缩的10款工具大盘点:

在这个信息爆炸的时代&#xff0c;我们们已经习惯了那些高清的4K视频&#xff0c;但是却出现了新的问题。那就是文件过大臃肿。不用担心&#xff0c;你可以使用视频压缩工具来解决这个问题&#xff1b;市场上的视频压缩工具可谓五花八门&#xff0c;不仅具备了智能的算法压缩技…

【spark的集群模式搭建】Standalone集群模式的搭建(简单明了的安装教程)

文章目录 1、使用Anaconda部署Python2、上传、解压、重命名3、创建软连接4、配置spark环境变量5、修改 spark-env.sh配置文件6、启动hdfs&#xff0c;创建文件夹7、修改spark-defaults.conf配置文件8、修改workers配置文件9、修改log4j.properties配置文件&#xff08;可选&…

《现代网络技术》读书笔记:SDN数据平面和OpenFlow

本文部分内容来源于《现代网络技术&#xff1a;SDN,NFV,QoE、物联网和云计算&#xff1a;SDN,NFV,QoE,IoT,andcloud》 SDN数据平面 SDN 数据平面也称为基础设施层&#xff0c;而在ITU-T的Y3300标准中则称为资源层&#xff0c;它是网络转发设备根据 SDN控制平面的决策来执行数据…

无线婴儿监视器方案(附SI24R1选型)

随着现代科技的进步&#xff0c;父母们对宝宝的关注和保护达到了前所未有的高度。为了满足这一需求&#xff0c;市场上涌现出了一系列智能婴儿监视器。这些设备不仅能实时监控宝宝的活动&#xff0c;还能让父母在家中的任何角落都能轻松掌握宝宝的动态。今天&#xff0c;我们向…

Sigrity Power SI 3D-EM Full Wave HSSO模式如何进行高速差分过孔结构仿真扫描分析以及反标到Allegro操作指导

Sigrity Power SI 3D-EM Full Wave HSSO模式如何进行高速差分过孔结构仿真扫描分析以及反标到Allegro操作指导 高速差分过孔的优化是仿真分析中比较重要的一个环节,Sigrity Power SI 的3D-EM Full-Wave HSSO模式就是对高速差分过孔结构进行优化一个工具,可以不同的参数进行…

FFmpeg 4.3 音视频-多路H265监控录放C++开发十. 多线程控制帧率。循环播放,QT connect 细节,

在前面&#xff0c;我们总结一下前面的代码。 在 FactoryModeForAVFrameShowSDL 构造函数中 init SDL。 通过 QT timerevent机制&#xff0c;通过startTimer(10);每隔10ms&#xff0c;就会调用timerEvent事件。 在timerEvent事件中&#xff0c;真正的去 读取数据&#xff0c…

WebRTC 环境搭建

主题 本文主要描述webrtc开发过程中所需的环境搭建 环境&#xff1a; 运行环境&#xff1a;ubuntu 20.04 Node.js环境搭建 安装编译 Node.js 所需的依赖包: sudo apt-get update sudo apt-get install -y build-essential libssl-dev 下载 Node.js 源码: curl -sL htt…

libgdiplus在MacOS M1上问题:Unable to load shared library ‘libgdiplus‘

libgdiplus在MacOS M1上问题&#xff1a;Unable to load shared library libgdiplus 问题解决步骤1步骤2 问题 在mac上的pycharm中执行下面的代码时出现下面的错误 slide.get_thumbnail( RuntimeError: Proxy error(TypeInitializationException): The type initializer for…

【VScode】VScode内的ChatGPT插件——CodeMoss全解析与实用教程

在当今快速发展的编程世界中&#xff0c;开发者们面临着越来越多的挑战。如何提高编程效率&#xff0c;如何快速获取解决方案&#xff0c;成为了每位开发者心中的疑问。今天&#xff0c;我们将深入探讨一款颠覆传统编程体验的插件——CodeMoss&#xff0c;它将ChatGPT的强大功能…