本文主要介绍:
- 磁盘的相关操作
- lvm逻辑卷
1. 磁盘的基本概念
每个硬件设备都会以一个文件的形式映射到/dev目录下,第一个IDE是hda,以此类推,b、c...;SCSI设备是sda、sdb等
2. 磁盘的分区
每一个硬盘设备,Linux分区分配1-16序列号码;有三个分区,分别为主分区,扩展分区,逻辑分区。
主分区:启动操作系统,存放启动系统和引导程序;
扩展分区:占用一个设备号,sd4;
逻辑分区:是拓展分区的具体表现;
image.png
Linux安装时一般选择ext3格式,这个文件格式存取效率高,是一种日志型文件系统,是GUN/Linux系统中标准的文件系统。当一个分区做成了ext3文件系统,使用时需要进行挂载,缺省目录为/mnt,若需要再建其他目录为挂载点,光驱位只读系统。
挂载、卸载文件系统:
mount命令:
#格式:mount [-t 类型] 存储设备 挂载点目录
umount命令:
#格式:umount 存储设备位置
3. swap分区
swap分区,即交换分区,系统在物理内存不够时,把物理内存中的一部分空间释放出来,以供当前使用;释放出来的空间是一些很长时间没有操作的程序,临时保存在swap分区中,等需要时从swap分区中恢复数据到内存中。
扩充一块swap空间,此操作是在/下,只是显示操作步骤(尽量避免使用根分区)
[root@oraclehost ~]# free -m 查看内存空间
[root@oraclehost ~]# df -h 查看磁盘空间分配
执行结果:
image.png
磁盘的其他相关操作:
- 先使用dd命令生成一个空文件,单位为M,设置为2G
[root@oraclehost ~]# dd if=/dev/zero of=/swap1 bs=1M count=2048
- 创建一个swap类型文件
[root@oraclehost ~]# mkswap /swap1
- 启用交换分区文件
[root@oraclehost ~]# swapon /swap1
- 实现开机自启动,在/etc/fstab中添加swap1分区_
/swap1 swap swap defaults 0 0
## 在tmpfs行修改虚拟内存(物理内存+交换分区)的大小
tmpfs /dev/shm tmpfs defaults,size=2G 0 0
- tmpfs重置,使当下有效
[root@oraclehost ~]# mount -o remount /dev/shm
执行结果:
image.png
- 撤销操作,返回原状
[root@oraclehost ~]# swapoff /swap1
[root@oraclehost ~]# rm -rf /swap1
修改/etc/fstab文件
4. 磁盘操作命令
1. du
du 查看磁盘使用情况
du -s 显示当前目录总的使用量
du -h 带单位的显示各个文件的使用情况(人性化human)
2. df
df 查看磁盘剩余情况
df -h 带单位的显示磁盘信息
3. 磁盘分区命令
fdisk 的查询:
fdisk -m 命令帮助信息
fdisk -L 列出分区的类型信息
命令参数:
a :激活分区的可引导标志
n :添加新分区
d :删除已存在的分区
p :显示分区表
t :改变分区的文件系统类型
w :写分区表
q :退出
4. 磁盘格式化
语法:mkfs <选项> <分区设备名>
如:mkfs -t ext3 /dev/sdb1
或者:mkfs.ext3 /dev/sdb1
练习:添加一块虚盘(5G)
步骤:
添加前
(1)关闭虚拟机,创建一块5G虚盘(disk1)
(2)将添加的虚盘做成一个分区
[root@oraclehost ~]# fdisk /dev/sdb
image.png
(3)将虚盘格式化为ext3文件格式,并mount到/disk1下
[root@oraclehost ~]# mkdir /disk1
[root@oraclehost ~]# mkfs -t ext3 /dev/sdb1
[root@oraclehost ~]# mount /dev/sdb1 /disk1
(4)在/etc/fstab下添加描述,完成自动挂载
[root@oraclehost ~]# vi /etc/fstab
/dev/sdb1 /disk1 ext3 defaults 0 0
(5)重新加载
[root@oraclehost ~]# mount -o -remount /disk1
image.png
取消挂载:
umount /dev/sdb1 /disk1
实现开机自挂载:
vi /etc/rc.d/rc.local
添加 mount /etc/sdb1 /data
5.磁盘阵列raid存储技术
raid是独立磁盘冗余阵列,称磁盘阵列raid技术是以硬件方式(磁盘柜及控制器)实现的存储
管理技术,可以实现数据的读并发写、快速的动态扩容等容灾方案。
raid主要利用数据条带、镜像、数据校验技术来获取高性能、可靠性、容错性和扩展性;
镜像:将相同的数据同时存放到多个磁盘中(写的性能低、消耗的时间长);
数据条带:将数据分片放到多个不同的磁盘中,多个数据分片组成一个完整的数据副本;当访问数据时,可以从多个磁盘上进行读写,提高了并发量,提升了io的性能。
数据校验:利用冗余数据进行数据错误检验和恢复,冗余数据通常采用海明码、异或操作等算法来计算获得;但从多出读取数据并进行计算,影响系统性能。
raid等级
image.png
(1)raid0
相当于一个简单的、无数据校验的数据条带化技术;数据分散存储在所有磁盘中,以独立访问方式实现多块磁盘的并读访问,并发执行io操作,总线带宽得到充分的利用。
缺点:一旦数据损坏,整个数据将无法使用、恢复。
(2)raid1
数据完全一致的分别写到工作盘和镜像盘,利用率是50%;当工作磁盘发生故障,系统会自动从镜像磁盘读取数据,不会影响工作。
缺点:数据写入时,响应时间受到影响,代价高。
image.png
(3)raid5
磁盘上同时存储数据和校验数据,数据块和对应的校验信息保存在不同的磁盘上,当一个数据盘损坏时,系统可以根据同一条的其他数据块和数据校验来重建损坏的数据。基本上可以满足大部分的存储应用需求,是raid0和raid1的折中方案。
image.png
(4)raid01和raid10
raid01:是先做条带化再做镜像,本质是对物理磁盘实现镜像;
raid10:先做镜像再做条带化,是对虚拟磁盘实现镜像。raid01比raid10具有更好的容错能力。
RAID01 的数据将同时写入到两个磁盘阵列中,如果其中一个阵列损坏,仍可继续工作,保证数据安全性的同时又提高了性能。
image.png
raid10:整体的磁盘利用率为50%
image.png
RAID 0+1 和RAID 1+0的比较
RAID0+1是先做两个RAID0,然后再做RAID1,因此RAID0+1允许坏多个盘,但只能在坏在同一个RAID0中,不允许两个RAID0都有坏盘。
RAID1+0是先做RAID1,然后再做RAID0,因此RAID1+0允许坏多个盘,只要不是一对磁盘坏。
结论:RAID1+0比RAID0+1安全得多,因为在同一对磁盘中,两块磁盘都坏掉的概率很低。
6.LVM逻辑卷管理器
LVM是以完全的软件方式实现的磁盘最高管理,屏蔽了底层磁盘布局,便于动态调整磁盘容量
注意:/boot分区用于存放引导文件,不能应用于LVM机制
优点:
- 在多个磁盘上条带化存储数据,提供并行io能力
- 可以建立磁盘镜像,提供容错功能保护数据
- 扩展性好,根据需要灵活扩容存储空间
(1)线性卷
一个线性卷可以将多个物理卷(PV),集中到一个逻辑卷中。写数据时,数据在磁盘中是顺序写入,一个磁盘写满,再写入下一个。
image.png
(2)条状卷
当向LVM逻辑卷读写数据时,文件系统在基本物理卷之间部署数据。同时从多个物理盘中读写,提高数据io的效率
image.png
(3)镜像卷
镜像维护不同设备中的相同的副本,当向一个设备中写入数据时,也会向第二个设备中写,镜像保护数据;当一个镜像分支失败,会变成一个线性卷,仍可访问。
image.png
7.LVM的管理命令
pvcreate 设备名
vgcreate 卷组名 物理卷名1 物理卷名2
lvcreate -L 大小 -n 逻辑卷名 卷组名
lvextend -L +大小 /dev/卷组名/逻辑卷名
image.png
网友评论