整体思路:
1、了解自己的硬盘,目前计算机上有几块硬盘,每块硬盘的分区情况以及是否有挂载。可以使用两个命令进行查看,lsblk
查看硬盘及其分区和挂载点,fdisk -l
列出所有分区表(查看可用存储设备),比lsblk
详细。
2、已有分区,选分区直接挂载,硬盘没分区,先分区再挂载。分区还是使用fdisk
命令,挂载使用mount命令。
三个命令介绍
1、 lsblk命令
用于列出所有可用块设备的信息,而且还能显示他们之间的依赖关系,但是它不会列出RAM盘的信息。块设备有硬盘,闪存盘,cd-ROM等等。
详细命令点击上面链接,此时无需任何选项,3个硬盘(sda、sdb、sdc),每个硬盘三个分区:
(base) root@omnisky:~# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 447.1G 0 disk
├─sda1 8:1 0 285M 0 part /boot/efi
├─sda2 8:2 0 9.6G 0 part [SWAP]
└─sda3 8:3 0 437.3G 0 part /
sdb 8:16 0 3.7T 0 disk
├─sdb1 8:17 0 1M 0 part
├─sdb2 8:18 0 1G 0 part
└─sdb3 8:19 0 3.7T 0 part /root/seq-data
sdc 8:32 0 3.7T 0 disk
├─sdc1 8:33 0 1M 0 part
├─sdc2 8:34 0 3.5T 0 part
└─sdc3 8:35 0 127.9G 0 part
2、fdisk命令
一个创建和维护分区表的程序,它兼容DOS类型的分区表、BSD或者SUN类型的磁盘列表。
fdisk [必要参数][选择参数]
必要参数:
-l 列出素所有分区表
-u 与"-l"搭配使用,显示分区数目
选择参数:-s<分区编号> 指定分区
-v 版本信息
菜单操作说明:m :显示菜单和帮助信息
a :活动分区标记/引导分区
d :删除分区
l :显示分区类型
n :新建分区
p :显示分区信息
q :退出不保存
t :设置分区号
v :进行分区检查
w :保存修改
x :扩展应用,高级功能
3、mount命令
用于挂载Linux系统外的文件。
mount [选择参数] 挂载分区 挂载点
-a:将 /etc/fstab 中定义的所有档案系统挂上。
例如:
将 /dev/hda1 挂在 /mnt 之下。
mount /dev/hda1 /mnt
将 /etc/fstab 中定义的所有档案系统挂上。
mount -a
分区
- 两个命令了解情况:
(base) root@omnisky:~# lsblk //得知三个硬盘,每个硬盘三个分区
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 447.1G 0 disk
├─sda1 8:1 0 285M 0 part /boot/efi
├─sda2 8:2 0 9.6G 0 part [SWAP]
└─sda3 8:3 0 437.3G 0 part /
省略......
(base) root@omnisky:~# fdisk -l //得知三个硬盘的具体情况(路径,内存大小等)
Disk /dev/sda: 447.1 GiB, 480103981056 bytes, 937703088 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: gpt
Disk identifier: 5E62161F-814D-439B-88CB-F5CFF2B0D3A9
省略......
- 开始分区:
fdisk /dev/sda
[ root@ xuegod61~]# fdisk /dev/sda
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.
Command(m for help):n //n创建一个新分区
Partition type:
p primary(2 primary,e extended,2 free) //主分区
e extended //扩展分区
Select(default p):p //p为选择主分区
Partition number (3,4,default 3): //回车,默认分区编号为3
First sector (25593856-41943039,default 25593856): //回车,默认开始位置即可
Using default value 25593856
Last sector,+sectors or +size{K,M,G}(25593856-41943039,default 41943039):+1G //设置分区大小,若不设置则剩余空间均设为分区大小
Command(m for help):p //打印分区表,可以看到一个新分区sda3
Disk /dev/sda:21.5 GB,21474836480 bytes,41943040 sectors
Units=sectors of 1 *512=512 bytes
Sector size(logical/physical):512 bytes/512 bytes
I/0 size(minimum/optimal):512 bytes /512 bytes
Disk label type: dos
Disk identifier:0x0006cab8
Device Boot Start End Blocks Id System
/dev/sda1 * 2048 411647 204800 83 Linux
/dev/sda2 411648 25593855 12591104 8e Linux LVM
/dev/sda3 25593856 27691007 1048576 83 Linux
Command (m for help):w //w为保存并退出,如无错误则完成分区
The partition table has been altered!
calling ioct1() to re-read partition table.
WARNING: Re-reading the partition table failed with error 16: Device or resource busy.
The kernel still uses the old table. The new table will be used at the next reboot or after you run partprobe(8) or kpartx(8)
Syncing disks.
错误:
WARNING: Re-reading the partition table failed with error 16: Device or resource busy.
The kernel still uses the old table. The new table will be used at the next reboot or after you run partprobe(8) or kpartx(8)
Syncing disks.
硬盘之前被使用过就会出现这样的错误。
解决方案:重启或执行partprobe或 kpartx,即可,建议执行命令即可
[root@xuegod61~]# partprobe /dev/sda
[root@xuegod61 ~]# 1s /dev/sda*
/dev/sda /dev/sdal /dev/sda2 /dev/sda3
注:如果是RHEL6操作系统的话,使用partx -a /dev/sda
重新获取分区表。
挂载
1、临时挂载
$ mount /dev/sda3 /data ##sda3分区挂载在data目录下
$ umount /data ##卸载data目录下分区
2、永久挂载:开机自动挂载,需要修改/etc/fstab。
2.1:普通永久挂载
服务器上如果对相应硬盘进行插拔后,会导致数据混乱受损。
vi /etc/fstab
LABEL=/data /data ext3 defaults 1 2
修改为(若无上面此条则自己添加):
/dev/sda3 /data ext3 defaults 1 2
PS:fstab 是文件系统分配表的配置文件,该文件有着严格的语法格式限制,类似 crontab 一样,保存时也会对你的输入格式进行校验,请慎重使用,否则会有意想不到的问题发生。其一共有 6 个字段,空格分隔。
/dev/sda3 | /data | ext3 | defaults | 0 | 0 |
---|---|---|---|---|---|
要挂载的分区 | 挂载点 | 文件系统类型 | 挂载选项 | 是否备份 | 是否检测 |
最后两个0 fs_dump是否要使用dump命今进行备份,0为不备份,1为要备份。 fs_pass-该字段被fsck命令用来决定在启动时是否需要被扫描的文件系统的顺序,根文件系统/对应该字段的值应该为1,其他文件系统应该为2。若该文件系统无需在启动时扫描则设置该字段为0
2.2:UUID自动挂载
对相应硬盘进行插拔后,不会导致数据混乱受损
UUID作用 UUID是一个标识你系统中的存储设备的字符串,其目的是帮助使用者唯一的确定系统中的所有存储设备,不管它们是什么类型的。它可以标识DVD驱动器,USB存储设备以及你系统中的硬盘设备等。 特点:Linux中的许多关键功能现在开始依赖于UUID
步骤:
①获取设备的UUID:blkid| grep sdc2
②把获取到的UUID写到/etc/fstab文件中:
vi /etc/fstab
添加下面语句:
UUID=ffac3bf7-32e9-48c6-875f-99caabcc898d /home/jack/Dissertation ext4 defaults 1 1
③挂载:mount -a
④确认是否挂载:lsblk
有你的挂载点即挂载上了
参考文章或视频:
https://www.jianshu.com/p/ce31ae7da616
https://www.bilibili.com/video/av21816136?p=2