Linux 磁盘挂载方式

人生自是有情痴,此恨不关风与月。

一、Linux 磁盘自动挂载

首先为虚拟机添加几块磁盘作为实验备用
在这里插入图片描述

添加磁盘后使用lsblk命令进行查看

[root@disk ~]# lsblk
NAME            MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda               8:0    0   60G  0 disk
├─sda1            8:1    0  500M  0 part /boot
└─sda2            8:2    0 59.5G  0 part
  ├─centos-root 253:0    0 38.6G  0 lvm  /
  ├─centos-swap 253:1    0    2G  0 lvm  [SWAP]
  └─centos-home 253:2    0 18.9G  0 lvm  /home
sr0              11:0    1    4G  0 rom
[root@disk ~]#

可以看到磁盘未加载,使用万能的重启大法reboot,init 6,shutdown -r now等,重启虚拟机即可,重启完毕后可以看到新添加的硬盘已经加载好了

[root@disk ~]# lsblk
NAME            MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda               8:0    0   60G  0 disk
├─sda1            8:1    0  500M  0 part /boot
└─sda2            8:2    0 59.5G  0 part
  ├─centos-root 253:0    0 38.6G  0 lvm  /
  ├─centos-swap 253:1    0    2G  0 lvm  [SWAP]
  └─centos-home 253:2    0 18.9G  0 lvm  /home
sdb               8:16   0   60G  0 disk
sdc               8:32   0   60G  0 disk
sdd               8:48   0   60G  0 disk
sr0              11:0    1 1024M  0 rom

使用 fdisk进行分区

[root@disk ~]# fdisk /dev/sdb
Welcome to fdisk (util-linux 2.23.2).

Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.

Device does not contain a recognized partition table
Building a new DOS disklabel with disk identifier 0x1d66e12e.

Command (m for help): p

Disk /dev/sdb: 64.4 GB, 64424509440 bytes, 125829120 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0x1d66e12e

   Device Boot      Start         End      Blocks   Id  System

Command (m for help): n
Partition type:
   p   primary (0 primary, 0 extended, 4 free)
   e   extended
Select (default p): p
Partition number (1-4, default 1):
First sector (2048-125829119, default 2048):
Using default value 2048
Last sector, +sectors or +size{K,M,G} (2048-125829119, default 125829119):
Using default value 125829119
Partition 1 of type Linux and of size 60 GiB is set

Command (m for help): p

Disk /dev/sdb: 64.4 GB, 64424509440 bytes, 125829120 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0x1d66e12e

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048   125829119    62913536   83  Linux

Command (m for help): w
The partition table has been altered!

Calling ioctl() to re-read partition table.
Syncing disks.

根目录下创建了一个名为/mnt/sdb的目录,并对/dev/sdb1进行了ext4文件系统格式化。

文件系统类型:ext4

[root@disk ~]# mkdir /mnt/sdb
[root@disk ~]# mkfs.ext4 /dev/sdb1
mke2fs 1.42.9 (28-Dec-2013)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
3932160 inodes, 15728384 blocks
786419 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=2164260864
480 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks:
        32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
        4096000, 7962624, 11239424

Allocating group tables: done
Writing inode tables: done
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done

配置/etc/fstab文件实现开机自动挂载 在配置文件/etc/fstab后追加/dev/sdb1 /mnt/sdb ext4 defaults 0 0

[root@disk ~]# vim /etc/fstab
#
# /etc/fstab
# Created by anaconda on Sun Jul  2 14:40:36 2023
#
# 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=8f90bf6f-fc6f-47e6-938e-d53602078619 /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 /mnt/sdb ext4 defaults 0 0
参数解释:
第1列:挂载设备
(1)/dev/sda5  
(2)UUID=设备的uuid   rhel6/7的默认写法   同一台机器内唯一的一个设备标识
第2列:挂载点
第3列:文件系统类型
第4列:文件系统属性	
第5列:是否对文件系统进行磁带备份:0 不备份
第6列:是否检查文件系统:0 不检查

使用 mount 命令挂载

[root@disk ~]# mount /dev/sdb1 /mnt/sdb/
[root@disk ~]# mount -a #开机自动挂载

二、根目录扩容

首先,使用lsblk命令查看当前系统的磁盘和分区情况。

[root@server /]# lsblk
NAME            MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda               8:0    0   20G  0 disk 
├─sda1            8:1    0    1G  0 part /boot
└─sda2            8:2    0   19G  0 part 
  ├─centos-root 253:0    0   17G  0 lvm  /
  └─centos-swap 253:1    0    2G  0 lvm  [SWAP]
sdb               8:16   0   20G  0 disk 
├─sdb1            8:17   0    5G  0 part /mnt/sdb1
├─sdb2            8:18   0    5G  0 part /mnt/sdb2
├─sdb3            8:19   0    5G  0 part /mnt/sdb3
├─sdb4            8:20   0    1K  0 part 
└─sdb5            8:21   0    5G  0 part /mnt/sdb5
sdc               8:32   0   20G  0 disk 
└─sdc1            8:33   0    2G  0 part [SWAP]
sdd               8:48   0   20G  0 disk 
sde               8:64   0   20G  0 disk 
└─vg2-lv2       253:2    0   26G  0 lvm  /mnt/lv2
sdf               8:80   0   20G  0 disk 
└─vg1-lv1       253:3    0    1G  0 lvm  
sdg               8:96   0   20G  0 disk 
└─vg2-lv2       253:2    0   26G  0 lvm  /mnt/lv2
sdh               8:112  0   20G  0 disk 
sr0              11:0    1  4.4G  0 rom  

确认需要扩容的根分区所在的逻辑卷名称和卷组名称。根据示例中的输出,根分区的逻辑卷名称是centos-root,卷组名称是centos

[root@server /]# lvs
  LV   VG     Attr       LSize   Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  root centos -wi-ao---- <17.00g                                                    
  swap centos -wi-ao----   2.00g                                                    
  lv1  vg1    -wi-a-----   1.00g                                                    
  lv2  vg2    -wi-ao----  26.00g            
[root@server /]# pvcreate /dev/sdd
  Physical volume "/dev/sdd" successfully created.  
[root@server /]# vgextend centos /dev/sdd
  Volume group "centos" successfully extended

使用lvextend命令对逻辑卷进行扩容。例如,要将根分区扩容15GB,可以执行以下命令:lvextend -L +15G /dev/centos/root

[root@server /]# vgs
  VG     #PV #LV #SN Attr   VSize   VFree  
  centos   2   2   0 wz--n-  38.99g <20.00g
  vg1      1   1   0 wz--n- <20.00g <19.00g
  vg2      2   1   0 wz--n-  39.99g  13.99g
[root@server /]# lvextend -L +15G /dev/centos/root 
  Size of logical volume centos/root changed from <17.00 GiB (4351 extents) to <32.00 GiB (8191 extents).
  Logical volume centos/root successfully resized.

扩容完成后,使用df -Th命令检查根分区的大小是否已经扩容。

[root@server /]# df -Th
Filesystem              Type      Size  Used Avail Use% Mounted on
devtmpfs                devtmpfs  974M     0  974M   0% /dev
tmpfs                   tmpfs     991M     0  991M   0% /dev/shm
tmpfs                   tmpfs     991M   11M  980M   2% /run
tmpfs                   tmpfs     991M     0  991M   0% /sys/fs/cgroup
/dev/mapper/centos-root xfs        17G  5.7G   12G  34% /
/dev/sdb3               ext4      4.8G   20M  4.6G   1% /mnt/sdb3
/dev/sdb1               ext4      4.8G   20M  4.6G   1% /mnt/sdb1
/dev/sdb2               ext4      4.8G   20M  4.6G   1% /mnt/sdb2
/dev/sdb5               ext4      4.8G   20M  4.6G   1% /mnt/sdb5
/dev/sda1               xfs      1014M  213M  802M  21% /boot
tmpfs                   tmpfs     199M   12K  199M   1% /run/user/42
tmpfs                   tmpfs     199M     0  199M   0% /run/user/0
/dev/mapper/vg2-lv2     ext4       26G   45M   25G   1% /mnt/lv2

如果根分区是XFS文件系统,还需要执行xfs_growfs命令来调整文件系统大小。例如,执行以下命令:xfs_growfs /dev/centos/root

[root@server /]# xfs_growfs /dev/centos/root 
meta-data=/dev/mapper/centos-root isize=512    agcount=4, agsize=1113856 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=0 spinodes=0
data     =                       bsize=4096   blocks=4455424, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
log      =internal               bsize=4096   blocks=2560, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0
data blocks changed from 4455424 to 8387584

使用df -Th命令再次检查根分区的大小,确保扩容操作已成功完成。

[root@server /]# df -Th
Filesystem              Type      Size  Used Avail Use% Mounted on
devtmpfs                devtmpfs  974M     0  974M   0% /dev
tmpfs                   tmpfs     991M     0  991M   0% /dev/shm
tmpfs                   tmpfs     991M   11M  980M   2% /run
tmpfs                   tmpfs     991M     0  991M   0% /sys/fs/cgroup
/dev/mapper/centos-root xfs        32G  5.7G   27G  18% /
/dev/sdb3               ext4      4.8G   20M  4.6G   1% /mnt/sdb3
/dev/sdb1               ext4      4.8G   20M  4.6G   1% /mnt/sdb1
/dev/sdb2               ext4      4.8G   20M  4.6G   1% /mnt/sdb2
/dev/sdb5               ext4      4.8G   20M  4.6G   1% /mnt/sdb5
/dev/sda1               xfs      1014M  213M  802M  21% /boot
tmpfs                   tmpfs     199M   12K  199M   1% /run/user/42
tmpfs                   tmpfs     199M     0  199M   0% /run/user/0
/dev/mapper/vg2-lv2     ext4       26G   45M   25G   1% /mnt/lv2

三、添加交换分区

使用dd工具将/dev/zero设备中的内容写入到/mnt/swap.iso文件中,写入的块大小为1GB,总共写入1个块。

这个命令的目的是创建一个1GB大小的名为swap.iso的文件,并将其写入到/mnt目录下。/dev/zero是一个特殊的文件,读取它会返回无限的空字节。通过将其内容写入到文件中,相当于创建了一个全是0的文件。

[root@disk ~]# dd if=/dev/zero of=/mnt/swap.iso bs=1G count=1
1+0 records in
1+0 records out
1073741824 bytes (1.1 GB) copied, 12.4315 s, 86.4 MB/s

通常情况下,这样的操作是为了创建一个临时的交换文件(swap file),用于作为交换分区(swap partition)的替代品,用于虚拟内存的扩展。

[root@disk ~]# mkswap /mnt/swap.iso
Setting up swapspace version 1, size = 1048572 KiB
no label, UUID=084d2529-f7ac-49c1-9d07-2ad6da7410df
[root@disk ~]# vim /etc/fstab
/mnt/swap.iso swap                    swap    defaults        0 0
[root@disk ~]# swapon -a
swapon: /mnt/swap.iso: insecure permissions 0644, 0600 suggested.
#这个警告是由于你的交换文件(swap file)的权限设置被认为不安全导致的。默认情况下,建议将交换文件设置为 0600 权限。
要更改交换文件的权限,你可以使用以下命令:
[root@disk ~]# chmod  0600 /mnt/swap.iso
#这将设置交换文件的权限为 0600,只允许所有者读取和写入,而禁止其他用户的访问。这样设置后,再次运行 swapon 命令应该就不会再出现不安全权限的警告了
[root@disk ~]# swapon -a
[root@disk ~]# swapon -s
Filename                                Type            Size Used     Priority
/dev/dm-1                               partition       2097148       0       -2
/mnt/swap.iso                           file    1048572 0    -3
[root@disk ~]#

到此挂载完成,在实际使用中使用交换分区,最好使用专门的分区,而不是一个文件。

总结

本文介绍了Linux磁盘挂载的基本操作和配置方法,包括虚拟机添加磁盘、分区格式化、配置fstab文件、开机自动挂载,根目录扩容和添加交换分区等。文章详细介绍了每个步骤的具体操作和注意事项。

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

清醒云思

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值