1、磁盘结构

磁头:用来写入和读取数据的
磁道:用来存储用户数据,存储计数:最外面同心圆为0磁道
扇区:系统存储最小单位是block,磁盘存储最小单位,默认磁盘扇区从1扇区开始,扇区大小为512字节
柱面:不同盘面上相同的磁道组成(圆柱体)
单元块(Units):表示单个柱面大小
Legacy和UEFI指的是系统引导方式(Legacy为传统BIOS,UEFI为新式BIOS)
MBR和GPT指的是磁盘分区表类型

2、磁盘读取数据原理

2.1 磁盘从0磁道,0磁头,1扇区开始读取——18扇区
2.2 利用电子切换,切换1磁头,0磁道,1扇区开始读取—-18扇区
2.3 利用径向运动,切换磁道,继续寻找磁盘数据

2.1 系统启动引导记录(MBR)

2.2 分区表

  1. 一个分区表中包含: 4个主分区,1个扩展分区 ,多个逻辑分区<br /> PS: 扩展分区不能直接使用,需要建立逻辑分区才能使用

3、raid 的配置级别

名称 数量 容量 性能 安全性 企业场景
raid 0 至少2块磁盘 所有磁盘容量之和 读写效率提高 没有冗余 没有企业使用raid 0
raid 1 2的倍数 损失一半容量 不会有效率提升 冗余100% 存储服务器 数据库服务器
raid 5 至少3块磁盘 单个硬盘容量 *(N-1),N>=3 读写效率提高 同时最多只能损坏1块盘(有热备盘可以坏两块,但不能同时) 大部分互联网服务器都会应用,保存视频、大量数据备份
raid 10 至少4块磁盘,盘数为2的倍数 损失一半 读写效率提高 每组最多损坏1块磁盘 数据库服务器,订单交易、数据业务系统
raid6 至少4块磁盘 同时最多允许坏2块盘
raid50 至少6块盘

4、磁盘扩容

4.1 磁盘做RAID

4.2 分区

4.2.1 fdisk(磁盘分区<=2T)

参数说明: d delete a partition — 删除一个分区 l list known partition types —- 列出分区类型(8e Linux LVM) m print this menu —- 输出帮助信息 n add a new partition —- 创建新的分区 p print the partition table —- 输出分区信息 q quit without saving changes —- 不做任何改变进行退出 t change a partition’s system id —- 改变分区类型 w write table to disk and exit —- 保存分区配置

  1. 1.检查
  2. [root@nfs ~]# lsblk ---确认新生成的盘符
  3. NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
  4. sda 8:0 0 50G 0 disk
  5. ├─sda1 8:1 0 1G 0 part /boot
  6. ├─sda2 8:2 0 2G 0 part [SWAP]
  7. └─sda3 8:3 0 47G 0 part /
  8. sdb 8:16 0 100G 0 disk
  9. sr0 11:0 1 1024M 0 rom
  10. 2.进行分区操作
  11. fdisk /dev/sdb --- 对磁盘进行分区命令
  12. 3.创建主分区操作
  13. Command (m for help): n ---创建分区
  14. Partition type:
  15. p primary (0 primary, 0 extended, 4 free)
  16. e extended
  17. Select (default p): p ---创建主分区
  18. Partition number (1-4, default 1): 1 ---指定分区号码
  19. First sector (2048-20479, default 2048): ---回车
  20. Using default value 2048
  21. Last sector, +sectors or +size{K,M,G} (2048-20479, default 20479): +5G ##指定分区大小,不输表示剩余全部空
  22. Partition 1 of type Linux and of size 5 MiB is set
  23. Command (m for help): n ---创建分区
  24. Partition type:
  25. p primary (0 primary, 0 extended, 4 free)
  26. e extended
  27. Select (default p): p ---创建主分区
  28. Partition number (1-4, default 2): 2 ---指定分区号码
  29. First sector (2048-20479, default 14336): ---回车
  30. Using default value 14336
  31. Last sector, +sectors or +size{K,M,G} (2048-20479, default 20479): +5G ##指定分区大小,不输表示剩余全部空
  32. Partition 1 of type Linux and of size 5 MiB is set
  33. Command (m for help): p ---输出分区信息
  34. Disk /dev/sdb: 10 MB, 10485760 bytes, 20480 sectors
  35. Units = sectors of 1 * 512 = 512 bytes
  36. Sector size (logical/physical): 512 bytes / 512 bytes
  37. I/O size (minimum/optimal): 512 bytes / 512 bytes
  38. Disk label type: dos
  39. Disk identifier: 0x43a2def7
  40. Device Boot Start End Blocks Id System
  41. /dev/sdb1 2048 12287 5120 83 Linux
  42. /dev/sdb2 14336 20479 3072 83 Linux
  43. Command (m for help): w ##保存分区

4.2.2 parted (磁盘分区大于2T)

  1. 当一个分区大小超过2T时, 使用GPT来识别大容量磁盘
  2. GPT格式分区全是主分区,立即保存
  1. [root@133 ~]# parted /dev/sdb ###对/dev下的sdb分区
  2. (parted) mklabel gpt ###将分区设置为gpt格式
  3. (parted) mkpart primary 0 1000G ###创建新的分区(从0到2100G)
  4. (parted) mkpart primary 1000G 2100G ###创建新的分区(从1000G到2100G)
  5. (parted) print ###(显示分区表信息)
  6. (parted) quit ###(退出分区界面)
  7. (parted) rm 4 ###(删除指定分区信息,4为number数)

4.3 格式化,创建文件系统

  1. 4.3.1 在格式化前需要执行以下命令
  2. partprobe /dev/sdb ---告知内核系统已经对磁盘进行了分区
  3. 4.3.2 做格式化处理
  4. mkfs.xfs /dev/sdb1 ---格式化为XFS格式
  5. mkfs.xfs /dev/sdb2

4.4 磁盘挂载

  1. mkdir /test_one ---创建挂载点
  2. mount /dev/sdb1 /test_one
  3. mount /dev/sdb2 /test_two

4.5 开机自动挂载

  1. vim /etc/fstab
  2. 设备文件 挂载点目录 文件系统类型 挂载的参数信息 是否进行备份 是否检查磁盘
  3. /dev/sdc1 /mnt xfs defaults 0 0
  4. mount -a ---确认挂载配置是否正确

6、企业案例

6.1 临时需要添加内存 —-将硬盘空间临时充当内存使用 — swap分区

6.1.1 从磁盘中取出一定空间当内存使用

  1. [root@oldboy ~]# dd if=/dev/zero of=/tmp/1G bs=100M count=10<br /> 10+0 records in<br /> 10+0 records out<br /> 1048576000 bytes (1.0 GB) copied, 25.9294 s, 40.4 MB/s

6.1.2 定义文件可以被swap分区使用

[root@oldboy-xiaodao.com.cn ~]# file /tmp/1G
/tmp/1G: data
[root@oldboy-xiaodao.com.cn ~]# mkswap /tmp/1G
Setting up swapspace version 1, size = 1023996 KiB
no label, UUID=a10ad568-60c9-4311-9e09-e6db844d6130
[root@oldboy-xiaodao.com.cn ~]# file /tmp/1G
/tmp/1G: Linux/i386 swap file (new style), version 1 (4K pages), size 255999 pages, no label, UUID=a10ad568-60c9-4311-9e09-e6db844d6130

6.1.3 让swap分区可以加载swap文件

[root@oldboy-xiaodao.com.cn ~]# swapon /tmp/1G
swapon: /tmp/1G: insecure permissions 0644, 0600 suggested.
[root@oldboy-xiaodao.com.cn ~]# free -h
total used free shared buff/cache available
Mem: 1.9G 99M 734M 9.5M 1.1G 1.7G
Swap: 2.0G 0B 2.0G

6.1.4 将swap空间进行减小

  1. [root@oldboy-xiaodao.com.cn ~]# swapoff /tmp/1G<br /> [root@oldboy-xiaodao.com.cn ~]# free -h<br /> total used free shared buff/cache available<br /> Mem: 1.9G 98M 734M 9.5M 1.1G 1.7G<br /> Swap: 1.0G 0B 1.0G

6.2 光驱挂载

6.2.1 确认设备文件是否存在

[root@oldboy-lidao ~]# ls -l /dev/cdrom
lrwxrwxrwx. 1 root root 3 Jan 2 10:43 /dev/cdrom -> sr0

6.2.2 确认有一个空的目录

ls -l /mnt

6.2.3 进行设备信息挂载

mount /dev/cdrom /mnt

6.2.4卸载挂载

umount /mnt

6.2.5 进行挂载检查确认

df -h

6.2.6 开机自动挂载

用root用户登录系统(!!!!!!!!!!)
vim /etc/fstab
/dev/cdrom /mnt iso9660 defaults 0 0

7、磁盘管理相关命令

fdisk -l 查看磁盘分区信息
free -h 查询swap分区
blkid 查看设备 uuid
lsblk -f 查看设备 uuid
dd 转换或复制文件