基本分区
磁盘简介
名词:硬盘/磁盘/disk是同一个东西,不同于内存的是容量比较大
类型:分为机械硬盘和固态硬盘。
- 机械硬盘即是传统普通硬盘,主要由:盘片,磁头,盘片转袖及控制电机,磁头控制器,数据转换器,接口,缓存等几个部分组成。
- 固态驱动器(简称SSD),俗称固态硬盘,固态硬盘是用固态电子存储芯片阵畅列而制成的硬盘.
接口:早期是IDE,现在是SATA
centos7 的STAT接口:/dev/sda,/dev/sdb。/dev是设备文件目录,s代表stat接口,d代表磁盘,a代表第一块。
分区方式: - MBR:主引导记录是位于磁盘最前边的一段引导。MBR支持最大的磁盘容量是<2TB。设计时分配4个分区。如果希望超过4个分区,需放弃主分区,改为扩展分区和逻辑分区。
- GPT:支持大于2T硬盘,支持128个分区
磁盘管理
分区(MBR或者GPT)---->格式化/文件系统---->挂载
ll /dev/sd*#查看磁盘
[root@learn ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 8G 0 disk
├─sda1 8:1 0 1G 0 part /boot
└─sda2 8:2 0 7G 0 part
├─centos_learn-root 253:0 0 6.2G 0 lvm /
└─centos_learn-swap 253:1 0 820M 0 lvm [SWAP]
sr0 11:0 1 1024M 0 rom
名称 设备类型:序号 是否可移动设备 大小 是否只读 磁盘或分区 挂载点
- 创建分区
fdisk /dev/sdb#启动分区工具,后面跟需要分区的磁盘
命令(输入 m 获取帮助):n#进入欢迎界面敲击 n 指令
Partition type:
p primary (0 primary, 0 extended, 4 free)
e extended
Select (default p): p#p 选择主分区或者拓展分区
分区号 (1-4,默认 1):1#1 选择分区号
起始 扇区 (2048-4194303,默认为 2048):#回车 选择磁盘开始的扇区
将使用默认值 2048
Last 扇区, +扇区 or +size{K,M,G} (2048-4194303,默认为 4194303):+200M# 选择磁盘结束的分区,或者直接说明分区大小
分区 1 已设置为 Linux 类型,大小设为 200 MiB
命令(输入 m 获取帮助):w#报错分区信息并退出
The partition table has been altered!
Calling ioctl() to re-read partition table.
正在同步磁盘。
partprobe /dev/sdb#刷新分区表
fdisk -l /dev/sdb#查看分区结果
- 创建文件系统
mkfs.ext4 /dev/sdb1
- 挂载
mount -t ext4 /dev/sdb1 /data
- 查看挂载信息
df -Th
永久同步:将命令写到/etc/fastab中
逻辑卷LVM
特点:随意扩张、缩减大小,快照备份
PV:物理卷
VG:卷组
LV:逻辑卷
- 创建LVM
[root@learn ~]# pvcreate /dev/sdc#将物理磁盘转换成物理卷PV
Physical volume "/dev/sdc" successfully created.
pvs#查看物理卷pv信息
[root@learn ~]# vgcreate vg1 /dev/sdc#创建卷组VG1
Volume group "vg1" successfully created
[root@learn ~]# lvcreate -L 200M -n lv2 vg1#创建逻辑卷,-L大小,-n名字,卷组
Logical volume "lv2" created.
mkfs.ext4 /dev/vg1/lv2#格式化
mount /dev/vg1/lv2 /lv2#挂载
- VG管理
pvcreate /dev/sdc1#创建新物理卷pv然后加到卷组vg中
vgextend vg1 /dev/sdd1#拓展vg
vgs#查看vg情况
- LV扩容
lvextend -L +1G /dev/vg1/lv2 #扩容逻辑卷LV
resize2fs /dev/vg1/lv2#刷新磁盘信息
交换分区Swap
作用:"提示"内存容量,防止内存溢出。
推荐:内存4G-16G需要4G swap;内存16G-64G需要8G swap;内存64G-256G需要16G swap
查看当前交换分区:free -m
fdisk /dev/sdb#启动分区工具,后面跟需要分区的磁盘
命令(输入 m 获取帮助):t
已选择分区 1
Hex 代码(输入 L 列出所有代码):82
已将分区“Empty”的类型更改为“Linux swap / Solaris”
partprobe /dev/sdb#刷新分区表
mkswap /dev/sde1#格式化为swap
swapon /dev/sde1#挂载
文件系统详解
ext4:索引文件系统
Ext3:文件系统最大16TB
Ext4:文件系统最大16TB
XFS:文件系统最大100TB
inode:记录文件的属性(文件的元数据metadata)。一个文件占用一个inode,同时记录此文件数据所在的block numbber。inode大小为128 bytes
block:存储文件的实际数据。block大小为默认为4K
superblock:block与inode的总量;未使用与已使用的inode/block数量。
[root@learn ~]# df -i#查看inode数量
文件系统 Inode 已用(I) 可用(I) 已用(I)% 挂载点
/dev/mapper/vg1-lv2 2357248 11 2357237 1% /lv2
文件连接
软连接像快捷方式,可以对文件和目录做软连接。
软连接记录的只是源文件的绝对路径。
软连接失去源文件不可用。
ln -s /file /home/file#创建软连接,后面是快捷方式,前面是原文件
硬链接的inode号相同,但并不占用block。使用df -k观察硬链接数量无变化。
不允许将硬链接指向目录。
硬链接只能针对文件做。不能权对目录做。
硬链接只能在同分区做。
ln /file /home/file#创建硬连接
[root@qianfeng home]#In /home/mnt
ln:“home/”:不允许将硬链接指向目录
RAID
RAID:廉价磁盘冗余阵列
作用:容错、提升读写速率
RAID0:条带集2块磁盘以上,读写速率快100%*N,但不容错
RAID1:镜像集2块磁盘,容量50%,读写速率一般,容错。
RAID5:带奇偶校验条带集,3块磁盘以上,利用率(n-1)/n,读写速率快,容错。
不同场景RAID的使用:
- 硬RAID:需要RAID卡,有自己的CPU,处理速度快,有电池和无电池。
- 软RAID:通过操作系统实现,比如Windows、.Linux
#软RAID示例
#1准备3个数据盘+1个热备盘
#2创建raid
yum -y install maddm#确保mdadm命令可用
mdadm -C /dev/md0 -l5 -n3 -x1 /dev/sd{d,e,f,g}
# -C创建RAID 第一个RAID设备 RAID5 数据盘数量 热备盘数量
#3格式化,挂载
mkfs.ext4 /dev/mdo
mkdir /mnt/raid5
mount /dev/mdo /mnt/raid5
cp-rf /etc /mnt/raid5/etc1
#4查看RAID信息
mdadm-D /dev/md0 #查看详细信息
#5模拟一块硬盘损坏,并移除
watch-n O.5 'mdadm -D /dev/md0|taif -10' #持续查看
mdadm /dev/mdo -f /dev/sde -r /dev/sde#模拟坏了并移除;-f--fail;-r--remove