一、磁盘管理
1·磁盘为什么要做分区
管理数据 :通过将磁盘划分为多个分区,可以更好地组织和管理数据。每个分区可以独立地存储文件和操作系统数据,使得文件系统更加有序和高效。
提高性能 :将磁盘分为多个分区可以提高磁盘的读写性能。例如,可以将操作系统和常用程序放在一个分区中,将用户数据放在另一个分区中,这样可以减少磁盘头的移动距离,提高访问速度。
数据保护 :通过磁盘分区,可以将重要的数据与操作系统或其他应用程序隔离开来。如果某个分区发生问题或需要重新格式化,其他分区的数据仍然可以保持完好。
多操作系统支持 :磁盘分区还可以用于安装多个操作系统。每个操作系统可以被安装在不同的分区上,使得多个操作系统可以共存并且互不干扰。
管理存储空间 :通过磁盘分区,可以更好地管理存储空间。例如,可以将不同类型的数据存储在不同的分区中,以便更好地控制存储空间的使用和分配。
性能优化 :分区允许用户根据数据的访问频率和重要性来优化磁盘性能。例如,经常 访问的数据可以放在性能较高的分区上,而较少访问的数据可以放在性能较低的分区 上。
安全性 :通过分区,可以为重要的数据或系统文件提供额外的保护。例如,可以创建 一个 单独的分区来存储备份数据,这样即使主分区出现问题,备份数据仍然可以安 全地保留。此外,某些分区还可以设置加密或访问权限,以进一步提高数据的安全性。
故障隔离 :如果一个分区出现问题,比如受到病毒攻击或文件系统损坏,其他分区的 数据仍然可以保持安全。这有助于隔离故障,防止整个磁盘的数据丢失。
系统恢复 :在某些情况下,可能需要对操作系统进行重新安装或恢复。如果操作系统 安装在一个单独的分区上,那么重新安装或恢复操作将不会影响其他分区的数据。
灵活性 :分区使得磁盘的使用更加灵活。例如,可以根据需要调整分区的大小,或者 创建一个新的分区来存储新的数据。
2·虚拟机添加磁盘
在虚拟机开机前添加需要的硬盘信息。
开机启动,查看虚拟机磁盘信息
使用指令fdisk -l查看当前磁盘信息
3·对磁盘分区
使用fdisk指令,对/dev/sdb磁盘进行操作
c ommand (m for help): n // 新建分区
Partition type p primary (0 primary, 0 extended, 4 free)
e extended (container for logical partitions)
Select (default p): p // 新建主分区
Command (m for help): p // 打印分区信息
Disk /dev/sdb: 1 GiB, 1073741824 bytes, 2097152 sectors
Disk model: VMware Virtual S
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x50f2734d
// 第一个新建的分区信息 /dev/sdb1
2048 206847 204800 100M 83 Linux
Command (m for help): n // 新建分区
Select (default p): p // 分区类型为主分区
Partition number (2-4, default 2):
First sector (206848-2097151, default 206848): 回车即可
// 新建一个50MB大小的主分区
Last sector, +/-sectors or +/-size{K,M,G,T,P} (206848-2097151, default 2097151): +50M
Command (m for help): p // 打印当前系统中存在的分区信息(分区表)
Disk /dev/sdb: 1 GiB, 1073741824 bytes, 2097152 sectors
Disk model: VMware Virtual S
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x50f2734d Device /dev/sdb1 /dev/sdb2 Boot Start End Sectors Size Id Type 2048 206847 204800 100M 83 Linux 206848 309247 102400 50M 83 Linux
Command (m for help): w // 将分区信息写入到磁盘中(存盘)
The partition table has been altered.
Calling ioctl() to re-read partition table.
Syncing disks.
[root@wcg ~]# fdisk -l /dev/sdb // 查看/dev/sdb 磁盘的分区信息
4·Linux 系列(RHEL)
输入mkfs.连续按两下Tab键,当前操作系统所支持的文件系统如下:
目前系统支持两个磁盘文件系统为.xfs和.ext4
刷新磁盘分区信息到内核的数据库中
[root@ryslog-client ~]# partprobe
查看当前系统所有的磁盘分区信息
5·创建文件系统,关联目录
1、对分区进行格式化,创建文件系统
[root@ryslog-client ~]# mkfs.xfs /dev/sdb1
// 使用mkfs.xfs指令对/dev/sdb4创建文件类型为xfs的分区(CentOS7、RHEL7以后的默认分区类型)
[root@ryslog-client ~]# mkfs.ext4 /dev/sdb4
// 使用 mkfs.ext4 命令,对 /dev/sdb1 分区,创建文件类型为ext4的分区。
6·创建分区对应的挂载目录(挂载点)
要将分区和目录结合起来,向目录中写入数据,即是向分区中写入数据。
[root@ ryslog-client ~]# mkdir -pv /home/{mysql,nginx,apache,tomcat}
mkdir: created directory '/home/mysql'
mkdir: created directory '/home/nginx'
mkdir: created directory '/home/apache'
mkdir: created directory '/home/tomcat'
// 使用 mount 指令挂载分区到对应的目录中,( 空目录,必须是空目录 )
[root@ ryslog-client ~]# mount /dev/sdb1 /home/mysql/
[root@ ryslog-client ~]# mount /dev/sdb2 /home/nginx/
[root@ ryslog-client ~]# mount /dev/sdb3 /home/apache/
[root@ ryslog-client ~]# mount /dev/sdb4 /home/tomcat/
// 使用 df 指令,查看当前操作系统的分区和挂载目录信息,以及文件类型等(容量)
[root@ *ryslog-client~*******]#df -Th
文件系统 类型 容量 已用 可用 已用% 挂载点
devtmpfs devtmpfs 4.0M 0 4.0M 0% /dev
tmpfs tmpfs 1.9G 0 1.9G 0% /dev/shm
tmpfs tmpfs 777M 12M 766M 2% /run
/dev/mapper/cs_192-root xfs 116G 5.4G 110G 5% /
/dev/sdb2 xfs 10G 104M 9.9G 2% /mnt/er
/dev/sdb1 xfs 10G 104M 9.9G 2% /mnt/yi
/dev/sdc1 xfs 10G 104M 9.9G 2% /mnt/san
/dev/sdc2 xfs 10G 104M 9.9G 2% /mnt/si
/dev/sda1 xfs 4.6G 298M 4.4G 7% /boot
tmpfs tmpfs 389M 52K 389M 1% /run/user/42
tmpfs tmpfs 389M 36K 389M 1% /run/user/0
// 设置挂载点(开机自动挂载)
分区信息 挂载目录 文件系统类型 defaults 0 0
[root@ ryslog-client****~]#** vim /etc/fstab**
[root@ ryslog-client****~]#** mount -a**
// 从/etc/fstab读取挂载信息,立即生效
7·查看磁盘信息
[root@localhost er]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
sda 8:0 0 120G 0 disk
├─sda1 8:1 0 4.7G 0 part /boot
└─sda2 8:2 0 115.3G 0 part
└─cs_192-root 253:0 0 115.3G 0 lvm /
sdb 8:16 0 20G 0 disk
├─sdb1 8:17 0 10G 0 part /mnt/yi
└─sdb2 8:18 0 10G 0 part /mnt/er
sdc 8:32 0 20G 0 disk
├─sdc1 8:33 0 10G 0 part /mnt/san
└─sdc2 8:34 0 10G 0 part /mnt/si
sr0 11:0 1 1024M 0 rom
[root@localhost er]# blkid
/dev/sdb2: UUID="761b02d5-48dd-4ad5-a9fc-54b463f4749c" TYPE="xfs" PARTUUID="d966ddb9-02"
/dev/sdb1: UUID="e93cf53c-2d02-4273-84e0-4ab9ef272a72" TYPE="xfs" PARTUUID="d966ddb9-01"
/dev/mapper/cs_192-root: LABEL="wcg" UUID="db770314-c293-417d-9bda-a3912aaf5555" TYPE="xfs"
/dev/sdc2: UUID="7a76a3d9-f456-488b-a7f4-1827e648ddd7" TYPE="xfs" PARTUUID="77bffbcf-02"
/dev/sdc1: UUID="d44c0c34-9dc9-4eee-804e-69d8f547085e" TYPE="xfs" PARTUUID="77bffbcf-01"
/dev/sda2: UUID="Qyk8sC-fziG-fb1H-vVtY-fSP0-43NZ-wwOpJV" TYPE="LVM2_member" PARTUUID="dd91671e-02"
/dev/sda1: UUID="ea3466d6-7ff0-49c3-aa94-be92254dfe6d" TYPE="xfs" PARTUUID="dd91671e-01"
总结:磁盘使用三部曲
分区(fdisk、parted、交互式|非交互式【自动化】)、 格式化
创建文件系统(mkfs.xfs mkfs.ext4)
挂载 mount 手动挂载 /etc/fstab 自动挂载 mount -a 自动挂载