LVM和RAID

1RAID: 2 Redundant Arrays of Inexpensive Disks 3 Independent 4 5 Berkeley: A case for Redundent Arrays of Inexpensive Disks RAID 6 7 提高IO能力: 8 磁盘并行读写; 9 提高耐用性; 10 磁盘冗余来实现 11 12 级别:多块磁盘组织在一起的工作方式有所不同; 13 RAID实现的方式: 14 外接式磁盘阵列:通过扩展卡提供适配能力 15 内接式RAID:主板集成RAID控制器 16 Software RAID17 18 级别:level 19 RAID-00, 条带卷,strip; 20 RAID-1: 1, 镜像卷,mirror; 21 RAID-2 22 .. 23 RAID-524 RAID-6 25 RAID10 26 RAID01 27 28 RAID-0: 以条带形式将数据均匀分布在阵列的各个磁盘上; 29 读、写性能提升; 30 可用空间:N*min(S1,S2,...) 31 无容错能力 32 最少磁盘数:2, 2+ 33 适用领域:视频生成和编辑、图形编辑,其它需要大的传输带宽的操作; 34 35 RAID-1:以镜像为冗余方式,对虚拟磁盘上的数据做多份拷贝,放在成员磁盘上 36 读性能提升、写性能略有下降; 37 可用空间:1*min(S1,S2,...) 38 有冗余能力 39 最少磁盘数:2, 2+ 40 适用领域:财务、金融等高可用、高安全的数据存储环境 41 42 RAID-4:数据交叉存储在2块硬盘中,再由第3块硬盘存储数据的校验码; 43 1101, 0110, 1011 44 45 RAID-5:采用独立存取的阵列方式,校验信息被均匀的分散到阵列的各个磁盘上; 46 读、写性能提升 47 可用空间:(N-1)*min(S1,S2,...) 48 有容错能力:1块磁盘 49 最少磁盘数:3, 3+ 50 适用领域:文件服务器、email服务器、web服务器等环境,数据库应用 51 RAID-6:用2块盘做校验盘,校验码存两次; 52 读、写性能提升 53 可用空间:(N-2)*min(S1,S2,...) 54 有容错能力:2块磁盘 55 最少磁盘数:4, 4+ 56 57 58 混合类型 59 RAID-10:结合RAID1RAID0,先镜像,再条带化; 60 读、写性能提升 61 可用空间:N*min(S1,S2,...)/2 62 有容错能力:每组镜像最多只能坏一块; 63 磁盘数:2n(n>=2) 64 优点:读性能很高,写性能比较好,数据安全性好,允许同时有N个磁盘失效; 65 缺点:利用率只有50%,开销大; 66 适用领域:多用于要求高可用性和高安全性的数据库应用; 67 RAID-01:先分成两组做成RAID-0,再把组成的RAID-0做成RAID-1;不符合常用方法,每一组有一块坏的硬盘可能性大; 68 69 RAID-50RAID7 70 适用领域:大型数据库服务器、应用服务器、文件服务器等应用; 71 JBOD:Just a Bunch Of Disks 72 功能:将多块磁盘的空间合并一个大的连续空间使用; 73 可用空间:sum(S1+S2+,...) 74 75 常用级别: 76 RAID-0 性能最好 77 RAID-1 冗余度最高,开销高 78 RAID-5 79 RAID-10 开销高 80 RAID-50 81 JBOD 82 83 实现方式: 84 硬件实现方式 85 软件实现方式 86 87 CentOS 6上的软件RAID的实现: 88 结合内核中的md(multi devices) 89 90 mdadm:模式化的工具 91 命令的语法格式:mdadm [mode] <raiddevice> [options] <component-devices> 92 支持的RAID级别:LINEAR, RAID0, RAID1, RAID4, RAID5, RAID6, RAID10; 93 94 模式: 95 创建:-C 96 装配: -A 97 监控: -F 98 管理:-f, -r, -a 99 100 <raiddevice>: /dev/md# 101 <component-devices>: 任意块设备 102 103 104 -C: 创建模式 105 -n #: 使用#个块设备来创建此RAID106 -l #:指明要创建的RAID的级别; 107 -a {yes|no}:自动创建目标RAID设备的设备文件; 108 -c CHUNK_SIZE: 指明块大小;(默认512k) 109 -x #: 指明空闲盘的个数; 110 111 例如:创建一个#G可用空间的RAID5112 [root@study ~]# mdadm -C /dev/md0 -n 3 -x 1 -a yes -l 5 /dev/sdb{5,6,7,8} 113 [root@study ~]# mke2fs -t ext4 /dev/md0 114 [root@study /]# mount /dev/md0 /mydata 115 [root@study /]# mdadm -D /dev/md0 116 117 -D:显示raid的详细信息; 118 mdadm -D /dev/md# 119 120 管理模式: 121 -f: 标记指定磁盘为损坏; 122 -a: 添加磁盘 123 -r: 移除磁盘 124 125 观察md的状态: 126 cat /proc/mdstat 127 128 -S: 停止md设备 129 mdadm -S /dev/md# 130 131 watch命令: 132 -n #: 刷新间隔,单位是秒; 133 134 watch -n# 'COMMAND' 135 136 练习1:创建一个可用空间为10G的RAID1设备,要求其chunk大小为128k,文件系统为ext4,有一个空闲盘,开机可自动挂载至/backup目录; 137 练习2:创建一个可用空间为10G的RAID10设备,要求其chunk大小为256k,文件系统为ext4,开机可自动挂载至/mydata目录; 138 139 博客作业:raid各级别特性; 140 141LVM2: 142 143 LVM: Logical Volume Manager, Version: 2 144 145 dm: device mapper,将一个或多个底层块设备组织成一个逻辑设备的模块; 146 /dev/dm-# 147 148 /dev/mapper/VG_NAME-LV_NAME 149 /dev/mapper/vol0-root 150 /dev/VG_NAME/LV_NAME 151 /dev/vol0/root 152 153 pv管理工具: 154 pvs:简要pv信息显示 155 pvdisplay:显示pv的详细信息 156 157 pvcreate /dev/DEVICE: 创建pv 158 159 vg管理工具: 160 vgs 161 vgdisplay 162 163 vgcreate [-s #[kKmMgGtTpPeE]] VolumeGroupName PhysicalDevicePath [PhysicalDevicePath...] 164 vgextend VolumeGroupName PhysicalDevicePath [PhysicalDevicePath...] 165 vgreduce VolumeGroupName PhysicalDevicePath [PhysicalDevicePath...] 166 先做pvmove 167 168 vgremove 169 170 lv管理工具: 171 lvs 172 lvdisplay 173 174 lvcreate -L #[mMgGtT] -n NAME VolumeGroup 175 176 lvremove /dev/VG_NAME/LV_NAME 177 178 扩展逻辑卷: 179 # lvextend -L [+]#[mMgGtT] /dev/VG_NAME/LV_NAME 180 # resize2fs /dev/VG_NAME/LV_NAME 181 182 缩减逻辑卷: 183 # umount /dev/VG_NAME/LV_NAME 184 # e2fsck -f /dev/VG_NAME/LV_NAME 185 # resize2fs /dev/VG_NAME/LV_NAME #[mMgGtT] 186 # lvreduce -L [-]#[mMgGtT] /dev/VG_NAME/LV_NAME 187 # mount 188 189 快照:snapshot 190 lvcreate -L #[mMgGtT] -p r -s -n snapshot_lv_name original_lv_name 191 192 练习1:创建一个至少有两个PV组成的大小为20G的名为testvg的VG;要求PE大小为16MB, 而后在卷组中创建大小为5G的逻辑卷testlv;挂载至/users目录; 193 194 练习2: 新建用户archlinux,要求其家目录为/users/archlinux,而后su切换至archlinux用户,复制/etc/pam.d目录至自己的家目录; 195 196 练习3:扩展testlv至7G,要求archlinux用户的文件不能丢失; 197 198 练习4:收缩testlv至3G,要求archlinux用户的文件不能丢失; 199 200 练习5:对testlv创建快照,并尝试基于快照备份数据,验正快照的功能; 201 202 203文件系统挂载使用: 204 挂载光盘设备: 205 光盘设备文件: 206 IDE: /dev/hdc 207 SATA: /dev/sr0 208 209 符号链接文件: 210 /dev/cdrom 211 /dev/cdrw 212 /dev/dvd 213 /dev/dvdrw 214 215 mount -r /dev/cdrom /media/cdrom 216 umount /dev/cdrom 217 218 dd命令:convert and copy a file 219 用法: 220 dd if=/PATH/FROM/SRC of=/PATH/TO/DEST 221 bs=#:block size, 复制单元大小; 222 count=#:复制多少个bs; 223 224 磁盘拷贝: 225 dd if=/dev/sda of=/dev/sdb 226 227 备份MBR 228 dd if=/dev/sda of=/tmp/mbr.bak bs=512 count=1 229 230 破坏MBR中的bootloader: 231 dd if=/dev/zero of=/dev/sda bs=256 count=1 232 233 两个特殊设备: 234 /dev/null: 数据黑洞; 235 /dev/zero:吐零机; 236 237 博客作业:lvm基本应用,扩展及缩减实现; 238 239回顾:lvm2, dd 240 lvm: 边界动态扩展或收缩;快照; 241 pv --> vg --> lv 242 PE: 243 LE: 244 245 dd: 复制
点赞
收藏

评论区

加载中...

相关推荐

MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1

文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s

Oracle 分组与拼接字符串同时使用

SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(

MySQL部分从库上面因为大量的临时表tmp_table造成慢查询

背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_

手写Java HashMap源码

HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22

RAID在数据库存储上的应用

随着单块磁盘在数据安全、性能、容量上呈现出的局限,磁盘阵列(RedundantArraysofInexpensive/IndependentDisks,RAID)出现了,RAID把多块独立的磁盘按不同的方式组合起来,形成一个磁盘组,以获得比单

Raid5和Raid6读写速度一点实例对比(非严谨)

以前一直纠结,存储文件系统底层究竟用raid5做到读写和安全的兼顾,还是选择raid6以安全为主导牺牲性能呢?今日就给大家一点参考!数据源主机A型号:群晖1817,硬盘8个硬盘类型:sata10T存储冗余类型:raid5数据同步主机B型号:群晖18015,硬盘12个硬盘类型:sas16T存储冗余类型:raid6同步软件