xiaohouye 2019-11-02
管理磁盘是管理员的重要工作内容,本文主要介绍以下几个方面
多个扇区组成磁道,多个相同直径的磁道组成柱面
笔记本的磁盘一般是2.5英寸,7mm厚度和9.5mm厚度,台式机一般是3.5英寸,SSD 2.5英寸 厚度7mm ,固态硬盘,电子芯片存储,数据丢失无法恢复,速度快。
MBR最多4个分区,GPT支持128分区
1)主引导记录
2)Linux中将硬盘、分区等设备均表示为文件
/dev/hda5 hd——IDE设备接口 ,sd——SCSI设备 a——第一块 5——序列号
3)磁盘分区结构
硬盘中的主分区2数目只有四个主分区和扩展分区的序号为1~4
扩展分区(MBR必须有一个主分区才可以创建主分区)可以分为逻辑分区,序号从5开始
1)XFS文件系统
高性能的日志文件系统,擅长处理大文件,支持百万级T字节的存储空间。
存放文件和目录数据的分区,有日志功能,宕机也可以进行数据恢复
2)swap
SWAP,交换文件系统——用于Linux系统建立交换分区,相当于虚拟内存,缓解物理内存不足的问题(但是有上限,只是缓解,而不是解决)该区不用于直接存储用户的文件和目录等数据!!!
3)Linux支持的其他文件系统类型
FAT16、FAT32(不安全)、NTFS
EXT4(Centos6) EXT3(Centos5)
用于列出所有可用块设备的信息,而且还能显示他们之间的依赖关系,但是它不会列出RAM盘的信息
fdisk命令——(fdisk -l )查看或(fdisk 设备)管理磁盘分区
交互模式中的常用命令:m(帮助信息)、p(显示)、n(新建)、d(删除)、t(变更分区类型)、w(保存,考虑清楚操作)、q(不保存退出)
[ ~]# fdisk -l 磁盘 /dev/sda:42.9 GB, 42949672960 字节,83886080 个扇区 Units = 扇区 of 1 * 512 = 512 bytes 扇区大小(逻辑/物理):512 字节 / 512 字节 I/O 大小(最小/最佳):512 字节 / 512 字节 磁盘标签类型:dos 磁盘标识符:0x000a0791 设备 Boot Start End Blocks Id System /dev/sda1 * 2048 12584959 6291456 83 Linux /dev/sda2 12584960 54527999 20971520 83 Linux /dev/sda3 54528000 62916607 4194304 82 Linux swap / Solaris /dev/sda4 62916608 83886079 10484736 5 Extended /dev/sda5 62918656 83886079 10483712 83 Linux 设备 *代表引导分区 起始位置 结束位置 分区大小(kb)系统ID号 分区类型
mount /dev/sdb1 /mnt
总结:首先我们要先添加一块到多块磁盘,在VMware上可以进行添加,后面给出具体操作,其次进行分区、格式化、挂载操作,但是目前挂载是一次有效,虚拟机重启后是无效的,需要手动操作进行再次挂载,这样是非常不方便的,所以下面介绍永久挂载的操作
df -hT
具体操作过程如下:
(1)首先在VMware上添加三块新的硬盘
(2)重启Centos7
? [ ~]# init 6
(3)lsblk查看块设备信息
[ ~]# lsblk //查看原本有sda,添加了sdb、sdc和sdd NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 40G 0 disk ├─sda1 8:1 0 6G 0 part /boot ├─sda2 8:2 0 20G 0 part / ├─sda3 8:3 0 4G 0 part [SWAP] ├─sda4 8:4 0 1K 0 part └─sda5 8:5 0 10G 0 part /home sdb 8:16 0 20G 0 disk sdc 8:32 0 20G 0 disk sdd 8:48 0 20G 0 disk sr0 11:0 1 4.2G 0 rom /run/media/root/CentOS 7 x86_64 [ ~]# fdisk -l //也可以用fdisk -l 查看详细信息 磁盘 /dev/sda:42.9 GB, 42949672960 字节,83886080 个扇区 Units = 扇区 of 1 * 512 = 512 bytes 扇区大小(逻辑/物理):512 字节 / 512 字节 I/O 大小(最小/最佳):512 字节 / 512 字节 磁盘标签类型:dos 磁盘标识符:0x000a0791 设备 Boot Start End Blocks Id System /dev/sda1 * 2048 12584959 6291456 83 Linux /dev/sda2 12584960 54527999 20971520 83 Linux /dev/sda3 54528000 62916607 4194304 82 Linux swap / Solaris /dev/sda4 62916608 83886079 10484736 5 Extended /dev/sda5 62918656 83886079 10483712 83 Linux 磁盘 /dev/sdb:21.5 GB, 21474836480 字节,41943040 个扇区 Units = 扇区 of 1 * 512 = 512 bytes 扇区大小(逻辑/物理):512 字节 / 512 字节 I/O 大小(最小/最佳):512 字节 / 512 字节 磁盘 /dev/sdc:21.5 GB, 21474836480 字节,41943040 个扇区 Units = 扇区 of 1 * 512 = 512 bytes 扇区大小(逻辑/物理):512 字节 / 512 字节 I/O 大小(最小/最佳):512 字节 / 512 字节 磁盘 /dev/sdd:21.5 GB, 21474836480 字节,41943040 个扇区 Units = 扇区 of 1 * 512 = 512 bytes 扇区大小(逻辑/物理):512 字节 / 512 字节 I/O 大小(最小/最佳):512 字节 / 512 字节
(4)fdisk /dev/sdn 进入交互模式下进行硬盘分区
[ ~]# fdisk /dev/sdb //分区操作开始 欢迎使用 fdisk (util-linux 2.23.2)。 更改将停留在内存中,直到您决定将更改写入磁盘。 使用写入命令前请三思。 Device does not contain a recognized partition table 使用磁盘标识符 0x4b4b9f25 创建新的 DOS 磁盘标签。 命令(输入 m 获取帮助):m 命令操作 a toggle a bootable flag b edit bsd disklabel c toggle the dos compatibility flag d delete a partition g create a new empty GPT partition table G create an IRIX (SGI) partition table l list known partition types m print this menu n add a new partition o create a new empty DOS partition table p print the partition table q quit without saving changes s create a new empty Sun disklabel t change a partition‘s system id u change display/entry units v verify the partition table w write table to disk and exit x extra functionality (experts only) 命令(输入 m 获取帮助):n //将硬盘分区,分出一个extend区来建立逻辑分区,但是必须先有主分区 Partition type: p primary (0 primary, 0 extended, 4 free) e extended Select (default p): p 分区号 (1-4,默认 1): 起始 扇区 (2048-41943039,默认为 2048): 将使用默认值 2048 Last 扇区, +扇区 or +size{K,M,G} (2048-41943039,默认为 41943039):+5G 分区 1 已设置为 Linux 类型,大小设为 5 GiB 命令(输入 m 获取帮助):n Partition type: p primary (3 primary, 0 extended, 1 free) e extended Select (default e): e 已选择分区 2 起始 扇区 (10487808-41943039,默认为 10487808): 将使用默认值 10487808 Last 扇区, +扇区 or +size{K,M,G} (10487808-20973567,默认为 20973567): 将使用默认值 20973567 分区 2 已设置为 Extended 类型,大小设为 5 GiB 命令(输入 m 获取帮助):w [ ~]# fdisk -l /dev/sdb //查看sdb硬盘信息 磁盘 /dev/sdb:21.5 GB, 21474836480 字节,41943040 个扇区 Units = 扇区 of 1 * 512 = 512 bytes 扇区大小(逻辑/物理):512 字节 / 512 字节 I/O 大小(最小/最佳):512 字节 / 512 字节 磁盘标签类型:dos 磁盘标识符:0x4b4b9f25 设备 Boot Start End Blocks Id System /dev/sdb1 2048 10487807 5242880 83 Linux /dev/sdb2 10487808 20973567 5242880 5 Extended /dev/sdb3 20973568 31459327 5242880 83 Linux /dev/sdb4 31459328 41943039 5241856 83 Linux /dev/sdb5 10489856 14684159 2097152 83 Linux /dev/sdb6 14686208 18880511 2097152 83 Linux /dev/sdb7 18882560 20973567 1045504 83 Linux
(5)mkfs进行格式化操作
[ ~]# mkfs -t xfs /dev/sdb1 meta-data=/dev/sdb1 isize=512 agcount=4, agsize=327680 blks = sectsz=512 attr=2, projid32bit=1 = crc=1 finobt=0, sparse=0 data = bsize=4096 blocks=1310720, 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
(6)进行磁盘挂载并且用df -hT检查是否成功挂载
[ ~]# mkdir /sdb1_mount [ ~]# ls /sdb1_mount/ [ ~]# mount /dev/sdb1 /sdb1_mount/ [ ~]# df -hT 文件系统 类型 容量 已用 可用 已用% 挂载点 /dev/sda2 xfs 20G 4.5G 16G 23% / devtmpfs devtmpfs 474M 0 474M 0% /dev tmpfs tmpfs 489M 0 489M 0% /dev/shm tmpfs tmpfs 489M 7.2M 481M 2% /run tmpfs tmpfs 489M 0 489M 0% /sys/fs/cgroup /dev/sda1 xfs 6.0G 158M 5.9G 3% /boot /dev/sda5 xfs 10G 37M 10G 1% /home tmpfs tmpfs 98M 4.0K 98M 1% /run/user/42 tmpfs tmpfs 98M 20K 98M 1% /run/user/0 /dev/sr0 iso9660 4.3G 4.3G 0 100% /run/media/root/CentOS 7 x86_64 /dev/sdb1 xfs 5.0G 33M 5.0G 1% /sdb1_mount
注意!重启之后不会自动挂载的
[ ~]# init 6 Connection closing...Socket close. Connection closed by foreign host. Disconnected from remote host(centos7-1) at 22:25:16. Type `help‘ to learn how to use Xshell prompt. [c:\~]$ Connecting to 192.168.189.133:22... Connection established. To escape to local shell, press ‘Ctrl+Alt+]‘. Last login: Fri Nov 1 22:26:01 2019 [ ~]# df -hT 文件系统 类型 容量 已用 可用 已用% 挂载点 /dev/sda2 xfs 20G 4.5G 16G 23% / devtmpfs devtmpfs 474M 0 474M 0% /dev tmpfs tmpfs 489M 0 489M 0% /dev/shm tmpfs tmpfs 489M 7.2M 481M 2% /run tmpfs tmpfs 489M 0 489M 0% /sys/fs/cgroup /dev/sda1 xfs 6.0G 158M 5.9G 3% /boot /dev/sda5 xfs 10G 37M 10G 1% /home tmpfs tmpfs 98M 4.0K 98M 1% /run/user/42 tmpfs tmpfs 98M 16K 98M 1% /run/user/0 /dev/sr0 iso9660 4.3G 4.3G 0 100% /run/media/root/CentOS 7 x86_64
(8)设置永久挂载设置操作
[ ~]# cat /etc/fstab //查看一下文件的内容然后vim 写入命令 # # /etc/fstab # Created by anaconda on Wed Oct 23 12:15:45 2019 # # 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 # UUID=d0f8b702-0aa9-4857-9551-2e1283d2f5f9 / xfs defaults 0 0 UUID=4d632b10-c77d-438f-a9f4-8b4b0aeee9a9 /boot xfs defaults 0 0 UUID=a12d80a9-1b44-487a-996f-b57fbca184b5 /home xfs defaults 0 0 UUID=af672794-14a8-433a-a9c9-c3c263de9243 swap swap defaults 0 0 [ ~]# vim /etc/fstab [ ~]# cat /etc/fstab # # /etc/fstab # Created by anaconda on Wed Oct 23 12:15:45 2019 # # 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 # UUID=d0f8b702-0aa9-4857-9551-2e1283d2f5f9 / xfs defaults 0 0 UUID=4d632b10-c77d-438f-a9f4-8b4b0aeee9a9 /boot xfs defaults 0 0 UUID=a12d80a9-1b44-487a-996f-b57fbca184b5 /home xfs defaults 0 0 UUID=af672794-14a8-433a-a9c9-c3c263de9243 swap swap defaults 0 0 /dev/sdb1 /sdb1_mount xfs defaults 0 0 [ ~]# df -hT //添加之后一般是需要重启才会加载的,但是我们知道服务器 //一般是不允许允许宕机的,因此需要用mount -a使其立即生效 文件系统 类型 容量 已用 可用 已用% 挂载点 /dev/sda2 xfs 20G 4.5G 16G 23% / devtmpfs devtmpfs 474M 0 474M 0% /dev tmpfs tmpfs 489M 0 489M 0% /dev/shm tmpfs tmpfs 489M 7.2M 481M 2% /run tmpfs tmpfs 489M 0 489M 0% /sys/fs/cgroup /dev/sda1 xfs 6.0G 158M 5.9G 3% /boot /dev/sda5 xfs 10G 37M 10G 1% /home tmpfs tmpfs 98M 4.0K 98M 1% /run/user/42 tmpfs tmpfs 98M 20K 98M 1% /run/user/0 /dev/sr0 iso9660 4.3G 4.3G 0 100% /run/media/root/CentOS 7 x86_64 [ ~]# mount -a [ ~]# df -hT | tail -1 /dev/sdb1 xfs 5.0G 33M 5.0G 1% /sdb1_mount [ ~]#
在理解原理的基础上进行实际操作,需要多熟悉体会并且真正理解操作过程,巧用一些命令可以简化一些问题提高效率,例如上面的管道符号(|)的使用,可以更加直观地查看信息,提高效率。所以我们需要学以致用,多思多用。