linux如何挂载磁盘

 火... [复制链接]  154查看
易西 发表于 2024-10-23 22:35:50 | 显示全部楼层 |阅读模式
本帖最后由 易西 于 2024-10-23 23:13 编辑

linux如何挂载磁盘
 楼主| 易西 发表于 2024-10-23 22:36:16 | 显示全部楼层


linux如何挂载硬盘
在Linux中挂载硬盘通常涉及以下步骤:

使用lsblk或fdisk -l命令识别新硬盘。

使用fdisk或parted创建分区。

使用mkfs工具格式化分区。

创建挂载点(一个目录)。

使用mount命令挂载分区到挂载点。

以下是一个简单的示例流程:

# 识别新硬盘,假设新硬盘为/dev/sdb
lsblk

# 创建分区,以fdisk为例
sudo fdisk /dev/sdb
# 在fdisk提示符下创建新分区

# 格式化分区为ext4文件系统
sudo mkfs.ext4 /dev/sdb1

# 创建挂载点
sudo mkdir /mnt/mydisk

# 挂载分区
sudo mount /dev/sdb1 /mnt/mydisk

# 为了让开机自动挂载,需要将挂载信息添加到/etc/fstab文件
echo '/dev/sdb1 /mnt/mydisk ext4 defaults 0 0' | sudo tee -a /etc/fstab
请根据实际硬盘设备名(如/dev/sdb)和需求(如是否需要swap等)调整以上命令。

提示:AI自动生成,仅供参考

参考
 楼主| 易西 发表于 2024-10-23 22:37:15 | 显示全部楼层
https://www.cnblogs.com/mant/articles/17623539.html

参考

配置/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文件、开机自动挂载,根目录扩容和添加交换分区等。文章详细介绍了每个步骤的具体操作和注意事项。
 楼主| 易西 发表于 2024-10-23 22:37:39 | 显示全部楼层
一、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
[发帖际遇]: 易西 在论坛发帖时没有注意,被小偷偷去了 4 金钱. 幸运榜 / 衰神榜
 楼主| 易西 发表于 2024-10-23 22:55:57 | 显示全部楼层

linux如何查找磁盘
在Linux中,您可以使用find命令来查找特定的文件或目录。如果您想要查找位于某个特定磁盘上的文件或目录,您可以将搜索限制在该磁盘的挂载点。

例如,假设您想要在/dev/sda1磁盘上查找所有的.txt文件,您可以使用以下命令:

find /mnt/mydisk -type f -name "*.txt"
这里,/mnt/mydisk是/dev/sda1磁盘的挂载点。-type f选项指定搜索的是文件,-name "*.txt"指定搜索匹配特定模式的文件名。

如果您不知道磁盘的挂载点,可以先使用mount命令查看所有挂载的文件系统:

mount | grep /dev/sda1
然后,根据输出结果找到磁盘的挂载点,再用find命令进行搜索。

提示:AI自动生成,仅供参考


参考
 楼主| 易西 发表于 2024-10-23 23:14:28 | 显示全部楼层


linux如何挂载磁盘
在Linux中,挂载磁盘的基本命令是mount。首先,你需要确定你要挂载的磁盘的设备文件名,可以通过lsblk或fdisk -l命令查看。

以下是一个基本的挂载步骤:

查看可用的磁盘和分区:

lsblk

或者

fdisk -l

创建一个挂载点(即一个目录),例如:

sudo mkdir /mnt/mydisk

挂载磁盘到创建的挂载点:

sudo mount /dev/sdx1 /mnt/mydisk

其中/dev/sdx1是磁盘分区的设备文件名。

如果你想要在系统启动时自动挂载该磁盘,你需要编辑/etc/fstab文件,并添加相应的挂载信息。

以下是一个简单的例子:

假设你想要挂载的磁盘分区是/dev/sdb1,你想挂载到/mnt/data目录。

创建挂载点目录:

sudo mkdir /mnt/data

挂载磁盘分区:

sudo mount /dev/sdb1 /mnt/data

编辑/etc/fstab(这一步是可选的,视是否需要开机自动挂载而定):

sudo nano /etc/fstab

在文件中添加一行:

/dev/sdb1 /mnt/data ext4 defaults 0 2

这里ext4是文件系统类型,根据你的磁盘格式可能会有所不同。

保存并关闭文件,然后执行:

sudo mount -a

来测试你的fstab配置是否正确。

请根据你的实际磁盘设备文件名和挂载点替换上面的/dev/sdb1和/mnt/data。

提示:AI自动生成,仅供参考

参考
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

邮箱|首页|小黑屋|吾侪 ( 蜀ICP备2020029307号-4 )

GMT+8, 2025-11-5 13:24 , Processed in 0.066922 second(s), 23 queries , APCu On.

Powered by Discuz! X3.5

Copyright © , 吾侪网

快速回复 返回顶部 返回列表