linux磁盘管理和文件系统管理
linux 磁盘管理
设备文件
1[vagrant@maozhongyu ~]$ll /dev/sda
2brw-rw---- 1 root disk 8, 0 2月 10 10:28 /dev/sda
3
4ll /dev
8 : 主设备号:major number, 标识设备类型
0 : 次设备号:minor number, 标识同一类型下的不同设备
设备类型
块设备:block,存取单位“块”,磁盘
字符设备:char,存取单位“字符”,键盘
添加磁盘后,立马识别
1[root@maozhongyu ~]#echo '- - -' > /sys/class/scsi_host/host0/scan
2[root@maozhongyu ~]#echo '- - -' > /sys/class/scsi_host/host1/scan
3[root@maozhongyu ~]#echo '- - -' > /sys/class/scsi_host/host{$i}/scan
4
5lsblk
硬盘接口类型
1IDE:133MB/s,并行接口,早期家用电脑
2SCSI:640MB/s,并行接口,早期服务器
3SATA:6Gbps,SATA数据端口与电源端口是分开的,即需要两条线,一条数据线,一条电源线
4SAS:6Gbps,SAS是一整条线,数据端口与电源端口是一体化的,SAS中是包含供电线的,而SATA中不包含供电线。SATA标准其实是SAS标准的一个子集,二者可兼容,SATA硬盘可以插入SAS主板上,反之不行
5USB:480MB/s
6M.2:
管理存储
使用磁盘空间过程
- 设备分区
- 创建文件系统
- 挂载新的文件系统
为什么分区
- 优化I/O性能
- 实现磁盘空间配额限制
- 提高修复速度
- 隔离系统和程序
- 安装多个OS
- 采用不同文件系统
分区方式:
两种分区方式:MBR,GPT
MBR:Master Boot Record,1982年,使用32位表示扇区数,分区不超过2T
MBR分区:
划分分区的单位:
CentOS 5 之前按整柱面划分
CentOS 6 版本后可以按Sector划分
0磁道0扇区:512bytes
446bytes: boot loader 启动相关
64bytes:分区表,其中每16bytes标识一个分区
2bytes: 55AA,标识位
MBR分区中一块硬盘最多有4个主分区,也可以3主分区+1扩展(N个逻辑分区)
MBR分区:主和扩展分区对应的1–4,逻辑分区从5开始,/dev/sda5, 扩展分区本身是不能使用的,需要从使用它的逻辑分区。
GPT分区
GPT:GUID(Globals Unique Identifiers) partition table 支持128个分区,使用64位,支持8Z( 512Byte/block )64Z ( 4096Byte/block)
使用128位UUID(Universally Unique Identifier) 表示磁盘和分区 GPT分区表自动备份在头和尾两份, 并有CRC校验位
UEFI (Unified Extensible Firmware Interface 统一可扩展固件接口)硬件支持GPT,使得操作系统可以启动
BIOS和UEFI
BIOS是固化在电脑主板上的程序,主要用于开机系统自检和引导操作系统。目前新式的电脑基本上都是UEFI启动
BIOS(Basic Input Output System 基本输入输出系统)主要完成系统硬件自检和引导操作系统,操作 系统开始启动之后,BIOS的任务就完成了。系统硬件自检:如果系统硬件有故障,主板上的扬声器就会 发出长短不同的“滴滴”音,可以简单的判断硬件故障,比如“1长1短”通常表示内存故障,“1长3短”通常 表示显卡故障
BIOS+MBR 、 UEFI+GPT
分区工具fdisk和gdisk
fdisk -l [-u] [device…] 查看分区
fdisk [device…] 管理MBR分区
gdisk [device…] 类fdisk 的GPT分区工具
1fdisk /dev/sdb # 新加的磁盘
2
3fdisk -l /dev/sda # 查看已经分好的磁盘情况包含其分区情况
1p 分区列表
2t 更改分区类型
3n 创建新分区
4d 删除分区
5v 校验分区
6u 转换单位
7w 保存并退出
8q 不保存并退出
1个扇区才512字节
- 按n 创建新分区
- 选择主分区还是扩展分区
- 创建第一个分区如1G,依次进行
- 分好后 按w保存并推出
gdist和fdisk差不多。
文件系统管理
文件系统是操作系统用于明确存储设备或分区上的文件的方法和数据结构;即在存储设备上组织文件的 方法。操作系统中负责管理和存储文件信息的软件结构称为文件管理系统,简称文件系统 从系统角度来看,文件系统是对文件存储设备的空间进行组织和分配,负责文件存储并对存入的文件进行保护和检索的系统。具体地说,它负责为用户建立文件,存入、读出、修改、转储文件,控制文件的 存取,安全控制,日志,压缩,加密等
Linux 常用文件系统
- ext2:Extended file system 适用于那些分区容量不是太大,更新也不频繁的情况,例如 /boot 分 区
- ext3:是 ext2 的改进版本,其支持日志功能,能够帮助系统从非正常关机导致的异常中恢复
- ext4:是 ext 文件系统的最新版。提供了很多新的特性,包括纳秒级时间戳、创建和使用巨型文件(16TB)、最大1EB的文件系统,以及速度的提升
- xfs:SGI,支持最大8EB的文件系统
- swap
- iso9660 光盘
- btrfs(Oracle)
- reiserfs
云服务器磁盘挂载
购买腾讯云的50g 磁盘的服务器使用df -h
查看只有 30g 容量
1root@ins-ddYvQaGk:/# df -h
2Filesystem Size Used Avail Use% Mounted on
3udev 984M 0 984M 0% /dev
4tmpfs 200M 988K 199M 1% /run
5/dev/vda1 29G 21G 8.8G 70% /
6tmpfs 997M 0 997M 0% /dev/shm
7tmpfs 5.0M 0 5.0M 0% /run/lock
8tmpfs 997M 0 997M 0% /sys/fs/cgroup
9/dev/loop1 117M 117M 0 100% /snap/core/14784
10/dev/loop3 117M 117M 0 100% /snap/core/14447
11/dev/loop4 64M 64M 0 100% /snap/core20/1822
12/dev/loop5 44M 44M 0 100% /snap/certbot/2772
13/dev/vda15 105M 4.4M 100M 5% /boot/efi
14/dev/loop6 44M 44M 0 100% /snap/certbot/2836
15/dev/loop2 64M 64M 0 100% /snap/core20/1828
16tmpfs 200M 0 200M 0% /run/user/0
17
18
19
20root@ins-ddYvQaGk:/# lsblk
21NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
22loop1 7:1 0 116.8M 1 loop /snap/core/14784
23loop2 7:2 0 63.3M 1 loop /snap/core20/1828
24loop3 7:3 0 116.7M 1 loop /snap/core/14447
25loop4 7:4 0 63.3M 1 loop /snap/core20/1822
26loop5 7:5 0 43.9M 1 loop /snap/certbot/2772
27loop6 7:6 0 43.9M 1 loop /snap/certbot/2836
28sr0 11:0 1 370K 0 rom
29vda 252:0 0 30G 0 disk
30├─vda1 252:1 0 29.9G 0 part /
31├─vda14 252:14 0 4M 0 part
32└─vda15 252:15 0 106M 0 part /boot/efi
33vdb 252:16 0 20G 0 disk /data
34└─vdb1 252:17 0 20G 0 part
创建vdb的文件系统
1mkfs -t ext4 /dev/vdb
挂载到具体目录
1mkdir -p /data
2mount /dev/vdb /data
3
4
5# 查看效果
6df -h
7fdisk -l /dev/vdb