磁盘管理: 有关硬盘的识别,linux根据设备类型对存储设备进行识别,如果是IDE设备, 在计算机中会被识别为hd,第一个IDE设备会被识别为hda,第二个IDE设备会被识别为hdb,依次类推。如果是SATA,USB,SCSI设备会被识别为sd,同样第一个此类设备为sda,第二块此类设备为sdb,依次类推。 对于分区,linux使用数字来表示,如第一块SATA硬盘的第一个分区为sda1;第二块硬盘的第二个分区为sdb2。
磁盘分区: 传统的MBR分区方式是一块硬盘最多可以分为四个主分区,如果我们为硬盘分配了四个主分区,那么即使硬盘还有剩余空间,也无法再继续分区。 所以我们一般可以采用P+P+P+E的方式来分区,也就是三个主分区+一个扩展分区;
------------------------------------------------------------------------------------------------------------------------------------------------------------------------
查看磁盘分区表:
# fdisk -cul
为硬盘分区:
#fdisk -cu /dev/sdb
m 查看帮助命令
p 打印分区表信息
t 修改分区id
n 创建分区
d 删除分区
w 保存退出
刷新分区表:
# partprobe /dev/sdb
修改分区表类型,
# parted /dev/sdb mklabel gpt
对于大于2T的硬盘创建可修改分区一般使用parted命令;
创建分区: 创建一个从磁盘的第1MB开始分区,到2G为止的位置
#parted /dev/sdc mkpart primary ext3 1 2G
从2G的位置开始划分4G空间
#parted /dev/sdc mkpart primary ext3 2G 4G
打印分区信息
#parted /dev/sdc print
删除分区适应rm命令
#parted /dev/sdc rm 2
格式化磁盘分区为ext4格式
#mkfs.ext4 /dev/sdc1
将分区格式化为swap分区
#mkswap /dev/sdc2
开机自动挂载,编辑fstab文件
如:
/dev/sdc1 /data ext4 defaults 0 0
/dev/sdc1 为设备名;
/data 挂载点;
ext4 文件系统类型;
defaults 挂载属性
0 表示不备份,1表示每天备份
0 表示不需要进行磁盘检测,1表示根文件系统,其他文件系统为2;
------------------------------------------------------------------------------------------------------------------------------------------------------------
LVM逻辑卷 将分区转换为物理卷,pvcreate;
将物理卷合成卷组,vgcreate;
从卷组中提取容量创建逻辑卷,lvcreate;
创建完成后可以分别使用pvdisplay,vgdisplay,lvdisplay,查看效果。
-----------------------------------------------------------------------------------------------------------------------------------------------------------
创建LVM分区实例:
这里我们使用sdb,500G的硬盘创建100GB的分区,并使用这四个分区创建一个名称为test_vg的卷组,最后从该卷组中创建两个大小为120GB的逻辑卷,
名称分别为:test_web,test_data.
1、使用fdisk创建分区
#fdisk -cu /dev/sdb partprobe /dev/sdb
2、使用pvcreate创建物理卷并使用pvdisplay查看结果
# pvcreate /dev/sdb{1,2,3,5}
#pvdisplay
3、创建卷组并查看
#vgcreate test_vg /dev/sdb{1,2,3,5}
#vgdisplay
4、创建逻辑卷
# lvcreate -n test_web -L 120G test_vg
# lvcreate -n test_data -l 30720 test_vg
#lvdisplay
5、格式化并挂载
#mkfs.ext4 /dev/test_vg/test_web
#mkfs.ext4 /dev/test_vg/test_data
#mkdir -p /test/{web,data}
#cat >> /etc/fstab <<EOF
>/dev/test_vg/test_data /test/data ext4 dafaults 0 0
>/dev/test_vg/test_web /test/web ext4 defaults 0 0
>EOF
#mount -a df -h
----------------------------------------------------------- ------------------------------------------------------------------------------------------------
删除LVM分区
#umount /dev/test_vg/test_data
#umount /dev/test_vg/test_web
#lvremove /dev/test_vg/test_data
#lvremove /dev/test_vg/test_web
#vgremove /test_vg pvremove /dev/sdb{1,2,3,5}
===========================================================================================
RAID(Redundant Array of Independent Disk 独立冗余磁盘阵列)技术是加州大学伯克利分校1987年提出,
最初是为了组合小的廉价磁盘来代替大的昂贵磁盘,同时希望磁盘失效时不会使对数据的访问受损 失而开发出一定水平的数据保护技术。
RAID就是一种由多块廉价磁盘构成的冗余阵列,在操作系统下是作为一个独立的大型存储设备出现。
RAID可以充分发 挥出多块硬盘的优势,可以提升硬盘速度,增大容量,提供容错功能够确保数据安全性,易于管理的优点,
在任何一块硬盘出现问题的情况下都可以继续工作,不会 受到损坏硬盘的影响。
RAID 为 Redundant Array of Indepent Disks (独立磁盘冗余阵列) 的缩写,最常用的四种RAID为 RAID 0、RAID 1、RAID 5、RAID 10,
下面解释这四种RAID的特点和区别。
RAID 0的特点:
- 最少需要两块磁盘
- 数据条带式分布
- 没有冗余,性能最佳(不存储镜像、校验信息)
- 不能应用于对数据安全性要求高的场合
RAID 1的特点:
- 最少需要2块磁盘
- 提供数据块冗余
- 性能好
RAID 5特点:
- 最少3块磁盘
- 数据条带形式分布
- 以奇偶校验作冗余
- 适合多读少写的情景,是性能与数据冗余最佳的折中方案
RAID 10(又叫RAID 1+0)特点:
- 最少需要4块磁盘
- 先按RAID 0分成两组,再分别对两组按RAID 1方式镜像
- 兼顾冗余(提供镜像存储)和性能(数据条带形分布)
- 在实际应用中较为常用
RAID 0即Data Stripping(数据分条技术)。整个逻辑盘的数据是被分条(stripped)分布在多个物理磁盘上,可以并行读/写,提供最快的速度,但没有冗余能力。
要求至少两个磁盘。我们通过RAID 0可以获得更大的单个逻辑盘的容量,且通过对多个磁盘的同时读取获得更高的存取速度。
RAID 0首先考虑的是磁盘的速度和容量,忽略了安全,只要其中一个磁盘出了问题,那么整个阵列的数据都会不保了。
问:RAID0至少几块盘? 答:RAID0最少要两块硬盘才能实现。
RAID 1 RAID 1,又称镜像方式,也就是数据的冗余。在整个镜像过程中,只有一半的磁盘容量是有效的(另一半磁盘容量用来存放同样的数据)。
同RAID 0相比,RAID 1首先考虑的是安全性,容量减半、速度不变。
问:RAID1至少几块盘? 答:RAID1最少要两块硬盘才能实现。
RAID 0+1(RAID 10) 为了达到既高速又安全,出现了RAID 10(或者叫RAID 0+1),可以把RAID 10简单地理解成由多个磁盘组成的RAID 0阵列再进行镜像。
问:RAID0+1至少几块硬盘才能实现? 答:RAID0+1至少需要4块盘。
RAID 3和RAID 5 RAID 3和RAID 5都是校验方式。RAID 3的工作方式是用一块磁盘存放校验数据。
由于任何数据的改变都要修改相应的数据校验信息,存放数据的磁盘有好几个且并行工作,
而存放校验数据的磁盘只有一个,这就带来了校验数据存放时的瓶颈。
RAID 5的工作方式是将各个磁盘生成的数据校验切成块,分别存放到组成阵列的各个磁盘中去,
这样就缓解了校验数据存放时所产生的瓶颈问题,但是分割数据及控制存放都要付出速度上的代价。
问:RAID5需要几块硬盘?为什么损失一个盘的容量? 答:至少3块。RAID5把数据和相对应的奇偶校验信息存储到组成RAID5的各个磁盘上,并且奇偶校验信息和相对应的数据分别存储于不同的磁盘上,
其中任意N-1块磁盘上都存储完整的数据,也就是说有相当于一块磁盘容量的空间用于存储奇偶校验信息。
因此当RAID5的一个磁盘发生损坏后,不会影响数据的完整性,从而保证了数据安全。当损坏的磁盘被替换后,
RAID还会自动利用剩下奇偶校验信息去重建此磁盘上的数据,来保持RAID5的高可靠性。
----------------------------------------------------------------------------------------------------------------------------------------------------------
RAID磁盘阵列 linux 中创建磁盘阵列可以使用mdadm命令
-C 创建RAID
-l 指定RAID的级别
-n 指定磁盘个数
-x 指定备用设备数
例如:
创建raid0
#mdadm -C /dev/md0 -l 0 -n 3 /dev/sdb1 /dev/sdc1 /dev/sdd1
例如:创建raid5
#mdadm -C /dev/md1 -l 5 -n 3 -x 1
>/dev/sdb2 /dev/sdc2 /dev/sdd2 /dev/sde2
查看raid0和raid5的详细信息;
#mdadm --detail /dev/md0
#mdadm --detail /dev/md1
格式化与挂载
#mkfs.ext4 /dev/md0
#mkdir /raid0
#mount /dev/md0 /raid0
开机自动挂载raid磁盘,和上面一样,将挂载命令 写道/etc/fstab文件中即可。
RAID性能测试:
#time dd if=/dev/zero of=txt bs=1M count=1000