磁盘外部结构
磁盘分类:固态硬盘:内部是主板和U盘类似机械硬盘:盘片 主轴 传动手臂 做机械运动 类似DVDNvme硬盘
PCI-E接口大小分类:3.5英寸:台式机2.5英寸:服务器 笔记本接口类型:IDE接口 # 淘汰SCSI接口 # 淘汰SATA接口 # 台式机 笔记本SAS接口 # 企业服务器标配固态磁盘价格高,存储少。有寿命机械磁盘价格低,存储大。老不死固态速度比机械磁盘速度快磁盘存储大小和转速:企业标配SAS接口:300G 600G 900G 转速 每分钟转多上圈 5400转 7200转 10k 15k转速越快性能越好存储越大转速越慢 1T 转速最高10k 2T 4T 8T 20T
磁盘阵列
磁盘RAID
磁盘阵列
阵列卡/RAID卡作用:获得更大的容量 #将多块磁盘逻辑的组合成一开磁盘获得更高的性能 #写入服务器 写两块磁盘比写一块磁盘速度快获得更好的安全性 #可以同时将数据写入两块盘 一块盘做备份面试+笔试题
RAID级别 硬盘数量 可用容量 安全性 性能 使用场景
0 至少一块 磁盘总和 不安全 读写最快 要求速度不要安全
1 只能2块 一半 可以坏1块 写慢,读凑合 要求安全,速度一般的场景
5 至少3块 n-1块 坏1块 0和1的折中 业务流量较稳定的场景
10 至少4块 一半 坏1半 读写速度快 高并发场景
磁盘分区
Windows磁盘默认的是MBR格式
MBR格式最多支持4个主分区 C D E F
MBR格式支持3个主分支+1个扩展分区
linux磁盘表示方法
sda # 表示第一块磁盘sda1 # 表示第一块磁盘的第一个分区sda2 # 表示第一块磁盘的第二个分区
sdb # 表示第二块磁盘sdb1 # 表示第二块磁盘的第一个分区sdb2 # 表示第二块磁盘的第二个分区sdb5 # 表示第二块磁盘的第一个逻辑分区
linux磁盘分区
1、系统分区第一种分区:标准分区 300G磁盘/boot 200M # 存放系统内个的位置 引导程序所在的位置/ 剩余空间 # 存放系统第二种分区:swap分区/boot 200Mswap 2G # 当内存空间不够用的时候,临时使用磁盘空间来充当内存使用 速度慢 解决OOM问题 内存溢出 OOM内存溢出# linux内存如果达到最大限制,则自动杀死占用最高内存的进程来让系统正常运行# swap 对用户的服务器需要增加物理内存# 比较着急,或者公司内部测试服务器 自己使用的/ 剩余空间第三种分区:比较少/boot 200Mswap 2G/ 50G # 系统/data 1.8T # 数据分区2、磁盘分区 类似房间打隔断
MBR格式 小于2T的磁盘使用fdisk分区
GPT格式 大于2T的磁盘使用parted分区第一步:插入一块20G硬盘
右键虚拟机-->设置-->添加-->硬盘第二步:重启系统(虚拟机需要重启,如果是物理机不需要重启 云服务器也不需要重启)
[root@oldboyedu ~]# reboot重启完成后检查第二块磁盘
[root@oldboyedu ~]# fdisk -l
Disk /dev/sdb:20 GiB,21474836480 字节,41943040 个扇区
磁盘型号:VMware Virtual S
单元:扇区 / 1 * 512 = 512 字节
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节第三步:磁盘分区 使用fdisk
[root@oldboyedu ~]# fdisk /dev/sdb
Command (m for help): m # 查看菜单Help:d delete a partition # 删除一个分区 l list known partition types # 显示分区类型n add a new partition # 创建新的分区p print the partition table # 输出分好的分区表m print this menu # 打印菜单w write table to disk and exit #保存并且推出q quit without saving changes # 退出不保存Command (m for help): n # 创建分区
Partition typep primary (0 primary, 0 extended, 4 free)e extended (container for logical partitions)
Select (default p): # 分区类型默认 p 主分区Using default response p.
Partition number (1-4, default 1): # 分区的编号 默认从1开始
First sector (2048-41943039, default 2048): # 开始的大小 默认回车 不需要输入任何数字
Last sector, +/-sectors or +/-size{K,M,G,T,P} (2048-41943039, default 41943039): +5G # 分区大小 输入想要分的大小Command (m for help): p # 查看分区
Disk /dev/sdb: 20 GiB, 21474836480 bytes, 41943040 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: 0x850317bcDevice Boot Start End Sectors Size Id Type
/dev/sdb1 2048 10487807 10485760 5G 83 LinuxCommand (m for help): n
Partition typep primary (1 primary, 0 extended, 3 free)e extended (container for logical partitions)
Select (default p): Using default response p.
Partition number (2-4, default 2):
First sector (10487808-41943039, default 10487808):
Last sector, +/-sectors or +/-size{K,M,G,T,P} (10487808-41943039, default 41943039): +10G Command (m for help): p
Disk /dev/sdb: 20 GiB, 21474836480 bytes, 41943040 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: 0x850317bcDevice Boot Start End Sectors Size Id Type
/dev/sdb1 2048 10487807 10485760 5G 83 Linux
/dev/sdb2 10487808 31459327 20971520 10G 83 LinuxCommand (m for help): d # 删除分区
Partition number (1-4, default 4): # 默认删除的是第4个主分区....省略查看最后的结果:
Command (m for help): p
Disk /dev/sdb: 20 GiB, 21474836480 bytes, 41943040 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: 0x850317bcDevice Boot Start End Sectors Size Id Type
/dev/sdb1 2048 10487807 10485760 5G 83 Linux
/dev/sdb2 10487808 31459327 20971520 10G 83 Linux
/dev/sdb3 31459328 33556479 2097152 1G 83 Linux
/dev/sdb4 33556480 41943039 8386560 4G 5 Extended
/dev/sdb5 33558528 35655679 2097152 1G 83 Linux
/dev/sdb6 35657728 41943039 6285312 3G 83 Linux
Command (m for help): w # 保存并退出第三步格式化分区 类似打扫卫生 装修不同风格
[root@oldboyedu ~]# mkfs.xfs /dev/sdb1
meta-data=/dev/sdb1 isize=512 agcount=4, agsize=327680 blks= sectsz=512 attr=2, projid32bit=1= crc=1 finobt=1, sparse=1, rmapbt=0= reflink=1
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# 格式化成功第四步:挂载磁盘mount
1)创建一个挂载点 类似创建门,通过门才可以进入磁盘空间
[root@oldboyedu ~]# mkdir /data
2)将sdb1挂载到/data目录
--->/data--->sab1第二块磁盘的第一个分区
[root@oldboyedu ~]# mount /dev/sdb1 /data查看挂载结果
[root@oldboyedu ~]# df -h
文件系统 容量 已用 可用 已用% 挂载点
devtmpfs 459M 0 459M 0% /dev
tmpfs 475M 0 475M 0% /dev/shm
tmpfs 475M 13M 462M 3% /run
tmpfs 475M 0 475M 0% /sys/fs/cgroup
/dev/mapper/klas-root 47G 4.3G 43G 10% /
tmpfs 475M 0 475M 0% /tmp
/dev/sda1 1014M 151M 864M 15% /boot
tmpfs 95M 0 95M 0% /run/user/0
/dev/sdb1 5.0G 68M 5.0G 2% /data测试是否可以正常写入内容
[root@oldboyedu ~]# cd /data/
[root@oldboyedu data]# touch a.txt
[root@oldboyedu data]# ll
总用量 0
-rw-r--r-- 1 root root 0 11月 20 20:16 a.txt卸载磁盘:
[root@oldboyedu ~]# umount /data 注意卸载需要退出挂载点
[root@oldboyedu data]# umount /data
umount: /data: target is busy. # 退出挂载点然后卸载第五步:写入开机自动挂载
UUID:用来标识硬件的一串唯一分字符
查看UUID:[root@oldboyedu ~]# blkid
fstab # 文件作用 开机自动挂载硬件设备
[root@oldboyedu ~]# vim /etc/fstab
# 第一列:设备的名称或者UUID 第二列:挂载点 第三列:文件系统类型 第四列:挂载的参数 第五列:是否备份 第六列:是否>自检
/dev/sdb1 /data xfs defaults 0 0reboot重启系统查看结果:
[root@oldboyedu ~]# df -h
文件系统 容量 已用 可用 已用% 挂载点
devtmpfs 459M 0 459M 0% /dev
tmpfs 475M 0 475M 0% /dev/shm
tmpfs 475M 6.9M 468M 2% /run
tmpfs 475M 0 475M 0% /sys/fs/cgroup
/dev/mapper/klas-root 47G 4.3G 43G 10% /
tmpfs 475M 0 475M 0% /tmp
/dev/sdb1 5.0G 68M 5.0G 2% /data
/dev/sda1 1014M 151M 864M 15% /boot
tmpfs 95M 0 95M 0% /run/user/0/etc/rc.local # 开机自启动执行里面的命令。文件是一个脚本,开机自动执行此脚本
mount /dev/sdb1 /data # 磁盘在本地服务器可以使用rc.local 网络挂载磁盘不建议使用此文件企业中使用磁盘的方法:
1、插入磁盘2、直接格式化 # -f是强制格式化
[root@oldboyedu ~]# mkfs.xfs -f /dev/sdb
meta-data=/dev/sdb isize=512 agcount=4, agsize=1310720 blks= sectsz=512 attr=2, projid32bit=1= crc=1 finobt=1, sparse=1, rmapbt=0= reflink=1
data = bsize=4096 blocks=5242880, 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=03、直接挂载
[root@oldboyedu ~]# mount /dev/sdb /mnt
[root@oldboyedu ~]# df -h
Filesystem Size Used Avail Use% Mounted on
devtmpfs 963M 0 963M 0% /dev
tmpfs 979M 0 979M 0% /dev/shm
tmpfs 979M 8.9M 970M 1% /run
tmpfs 979M 0 979M 0% /sys/fs/cgroup
/dev/mapper/klas-root 47G 4.8G 43G 11% /
tmpfs 979M 0 979M 0% /tmp
/dev/sda1 1014M 169M 846M 17% /boot
tmpfs 196M 0 196M 0% /run/user/0
/dev/sdb 20G 175M 20G 1% /mnt4、大于2T的磁盘分区
parted