世界太吵,别听,别看,别管,别怕,向前走
一. 存储管理
初识硬盘
机械 HDD
固态 SSD
SSD的优势
SSD采用电子存储介质进行数据存储和读取的一种技术,拥有极高的存储性能,被认为是存储技术发展的未来新星。
内存直接当成硬盘使用
与传统硬盘相比,SSD固态电子盘具有以下优点:
第一,SSD完全的半导体化,不存在数据查找时间、延迟时间,数据存取速度快。
第二,SSD全部采用闪存芯片,经久耐用,防震抗摔,即使发生与硬物碰撞,数据丢失的可能性也能够降到最小。
第三,得益于无机械部件及闪存芯片,SSD没有任何噪音,功耗低。
第四,质量轻,比常规1.8英寸硬盘重量轻20-30克,使得便携设备搭载多块SSD成为可能。
从插拔方式
热插拔
手机卡
非热插拔
从硬盘接口
IDE(已经淘汰—也叫ATA)
SATA (Serial ATA),是当前主流的一种硬盘接口
SCSI(小型计算机的接口–很少了)
SAS代替了scsi (Serial Attached SCSI),当前SAS接口居多
IDE和SATA的区别:
1、接口不同,传输的速率不同。IDE根据规范,最高到133MB/s, 而SATA3.0,可达6Gb/S,速度差距巨大。
2、SATA支持热插拔。
SAS与SCSI的区别
1、接口不同;
2、SAS兼容SATA,SCSI不兼容SATA;
当然上面的都不重要
从磁盘分区方式区分
分区的目的:
文件分类。将一块硬盘分成几个小块。用来根据使用存放不同的文件
一块硬盘最多可以分多少个分区 65535
MBR格式
分区命令:fdisk
一共可以分14个分区(4个主分区,扩展分区,逻辑分区) 例如: 3主 + 1扩展(n逻辑)
MBR 小于2TB的硬盘。
一块硬盘最多分4个主分区。
一块硬盘可以直接划分4个主分区,也可以划分3个主分区和一个扩展分区,扩展分区下面可以划分多个逻辑分区
GPT格式
分区命令:gdisk(parted---rhel6)
一共可以分128个主分区
GPT大于小于2TB都可以。最大可以多大,超过目前硬件可以支撑的硬盘大小
#注意:从MBR转到GPT,或从GPT转换到MBR会导致数据全部丢失!因为转换格式要格式化硬盘
二.基本分区
- 首先需要先给关机状态虚拟机添加磁盘
- 查看磁盘设备。当硬盘已经被添加,但是还没有格式化没有挂载的时候,使用lsblk查看硬盘信息
lsblk
# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
nvme0n1 259:0 0 30G 0 disk
├─nvme0n1p3 259:3 0 28.4G 0 part
│ ├─cl_fedora-swap 253:1 0 2.1G 0 lvm [SWAP]
│ └─cl_fedora-root 253:0 0 26.3G 0 lvm /
├─nvme0n1p1 259:1 0 600M 0 part /boot/efi
└─nvme0n1p2 259:2 0 1G 0 part /boot
sr0 11:0 1 1024M 0 rom
sda 8:0 0 10G 0 disk
├─sda2 8:2 0 1K 0 part
├─sda5 8:5 0 1G 0 part /up
└─sda1 8:1 0 2G 0 part /top
NAME: 设备的名称
MAJ:MIN 主设备号:次设备号
RM 设备是否可移动。0表示不可移动设备,1表示可移动设备。
RO 设备是否为只读。0表示可读写设备,1表示只读设备。
TYPE TYPE:设备的类型。常见的类型包括disk(硬盘)、part(分区)、rom(只读存储设备)等。
- 使用 fdisk 进行磁盘分区,也可以使用 gdisk 进行分区
fdik
# fdisk /dev/sda
欢迎使用 fdisk (util-linux 2.23.2)。
更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。
命令(输入 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 创建一个GPT类型的分区
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)
# 其他的并不是很清楚
# 剩下的根据提示进程分区,这里的话,应该简单的很
# 我想一下 第一个应该是选 p
# 第二个第三个都选默认
# 第四个你看你需要多个 比如我需要 5G大小 则输出 +5G
# 最后就是 w 保存退出
- 创建好分区之后,可以用 lsblk 可以查看到最新添加的分区
# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
nvme0n1 259:0 0 30G 0 disk
├─nvme0n1p3 259:3 0 28.4G 0 part
│ ├─cl_fedora-swap 253:1 0 2.1G 0 lvm [SWAP]
│ └─cl_fedora-root 253:0 0 26.3G 0 lvm /
├─nvme0n1p1 259:1 0 600M 0 part /boot/efi
└─nvme0n1p2 259:2 0 1G 0 part /boot
sr0 11:0 1 1024M 0 rom
sda 8:0 0 10G 0 disk
├─sda2 8:2 0 1K 0 part
├─sda5 8:5 0 1G 0 part /up
|—sda3 8:3 0 1G 0
└─sda1 8:1 0 2G 0 part /top
- 格式化分区
mkfs
mkfs # 双击tap键进行支持的格式
# mkfs.ext4 /dev/sdb1 #格式化成ext4格式的文件系统
# mkfs.xfs /dev/sdc2 #格式化成xfs格式的文件系统
- 进行挂载
mount 进行挂载
mount /dev/sda5 /after # 将 sda5分区挂载到after文件下
mount -a # 自动挂载
上面虽说挂载好了,但是重新启动的话,将会失去挂载,可在fstab文件中添加配置实现开机自动挂载
- fstab开机自动挂载
/etc/fstab文件实现开机的时候自动挂载
[root@qfedu.com ~]# blkid /dev/sdb1 #查看uuid和文件系统类型
/dev/sdb1: UUID="d1916638-bd0a-4474-8051-f788116a3a92" TYPE="ext4"
[root@qfedu.com ~]# vim /etc/fstab
/dev/mapper/cl_fedora-root / xfs defaults 0 0
UUID=983841e5-d160-4bb7-9764-2d609759b9e8 /boot xfs defaults 0 0
UUID=2C37-8D68 /boot/efi vfat umask=0077,shortname=winnt 0 2
/dev/mapper/cl_fedora-swap none swap defaults 0 0
/dev/sda1 /top xfs defaults 0 0
参数解释:
第1列:挂载设备
(1)/dev/sda5
(2)UUID=设备的uuid rhel6/7的默认写法 同一台机器内唯一的一个设备标识
第2列:挂载点
第3列:文件系统类型
第4列:文件系统属性
第5列:是否对文件系统进行磁带备份:0 不备份
第6列:是否检查文件系统:0 不检查
也可以使用uuid进行挂载
获取分区的的uuid
blkid /dev/sda5
/dev/sda5: UUID="8443647a-7951-4451-a0a5-3d974b30032b" TYPE="xfs"
uuidgen
uuidgen # 可以获取一个此服务器唯一的id
partprobe /dev/sdb
partprobe /dev/sdb #更新磁盘分区表,手动让内核更新分区表。不需要重启
gdisk的用法与fdisk的用法差不多一样,区别在于gdisk中无扩展分区的说法
GPT 有128个主分区
磁盘格式转换
转格式的时候保证此分区,没有被系统占用。
[root@qfedu.com ~]# parted -s /dev/sdc mklabel gpt #将/dev/sdc(MBR格式)转换成(GPT格式)
[root@qfedu.com ~]# parted -s /dev/sdc mklabel msdos #将/dev/sda(GPT格式)转换成(MBR格式)
查看磁盘挂载与磁盘使用空间
[root@qfedu.com ~]# df -Th
Filesystem Type Size Used Avail Use% Mounted on
/dev/mapper/centos-root xfs 17G 1.2G 16G 7% /
devtmpfs devtmpfs 982M 0 982M 0% /dev
tmpfs tmpfs 993M 0 993M 0% /dev/shm
tmpfs tmpfs 993M 8.7M 984M 1% /run
tmpfs tmpfs 993M 0 993M 0% /sys/fs/cgroup
/dev/sda1 xfs 1014M 125M 890M 13% /boot
tmpfs tmpfs 199M 0 199M 0% /run/user/0
/dev/sdb1 ext4 283M 2.1M 262M 1% /mnt/disk1
/dev/sdc2 xfs 197M 11M 187M 6% /mnt/disks
参数解释:
-T 打印文件系统类型
-h 人性化显示,磁盘空间大小
取消挂载 umount
[root@qfedu.com ~]# umount /top
[root@qfedu.com ~]# umount -l /top #强行卸载,即使目录有资源被进程占用,也可以卸载
如果发生错误
umount: /top:目标忙。
(有些情况下通过 lsof(8) 或 fuser(1) 可以
找到有关使用该设备的进程的有用信息)
等等
执行下面的指令获取当前执行的进程号,
fuser /top
/top: 1804c
使用 kill -9 强制杀死进程
kill -9 1804
最后执行取消挂载
umount /top
/etc/rc.d/rc.local开机自动挂载
这个配置文件会在用户登陆之前读取,这个文件中写入了什么命令,在每次系统启动时都会执行一次。也就是说,如果有任何需要在系统启动时运行的工作,则只需写入 /etc/rc.d/rc.local 配置文件即可
[root@qfedu.com ~]# vim /etc/rc.d/rc.local #将挂载命令直接写到文件中
date >> /tmp/host_start.txt
mount /dev/sdb1 /mnt/disk1/
mount /dev/sdc1 /mnt/disk2/
[root@qfedu.com ~]# chmod +x /etc/rc.d/rc.local #添加执行权限
[root@qfedu.com ~]# reboot