Linux裸设备管理
一、存储中的块设备和裸设备
块设备即我们平时使用的文件系统的方式,是通过操作系统来操作的存储。数据读取时会先经过一个操作系统的缓冲区,再往存储硬件上写。
裸设备不由操作系统的文件系统来管理,而是一般由DB系统来直接访问硬件上的存储,少了操作系统维护的开销,也少了缓冲区这一步,所以I/O性能会提高。但不能像块设备那样通过操作系统来对存储做管理。分配出去的裸设备就整个不能再做它用了。
二、裸设备绑定
在UNIX系统上,裸设备和块设备都是直接可见的,比方HP-UX,在/dev/rdsk下的是裸设备,/dev/dsk下就是块设备了。但是在Linux系统,裸设备需要绑定才可以使用。
用ll查看/dev,显示出来的结果中,开头为c的是裸设备,开头为b的是块设备。这里硬盘及其分区都是作为块设备来使用。
[root@dbabc.net raw]# ll /dev crw-rw---- 1 root audio 14, 12 Dec 25 01:04 adsp crw------- 1 root root 10, 175 Dec 25 01:04 agpgart crw-rw---- 1 root audio 14, 4 Dec 25 01:04 audio crw------- 1 root root 10, 62 Dec 25 01:05 autofs lrwxrwxrwx 1 root root 3 Dec 25 01:04 cdrom -> hda lrwxrwxrwx 1 root root 3 Dec 25 01:04 cdrom-hda -> hda crw------- 1 root root 5, 1 Dec 25 01:04 console …… brw-r----- 1 root disk 8, 0 Dec 25 01:04 sda brw-r----- 1 root disk 8, 1 Dec 25 01:04 sda1 brw-r----- 1 root disk 8, 16 Dec 25 01:04 sdb brw-r----- 1 root disk 8, 17 Dec 25 01:04 sdb1 brw-r----- 1 root disk 8, 32 Dec 25 01:04 sdc brw-r----- 1 root disk 8, 33 Dec 25 01:04 sdc1 brw-r----- 1 root disk 8, 48 Dec 25 01:04 sdd brw-r----- 1 root disk 8, 64 Dec 25 01:04 sde brw-r----- 1 root disk 8, 80 Dec 25 01:04 sdf brw-r----- 1 root disk 8, 96 Dec 25 01:04 sdg brw-r----- 1 root disk 8, 112 Dec 25 01:04 sdh brw-r----- 1 root disk 8, 128 Dec 25 01:04 sdi
绑定裸设备步骤,修改/etc/sysconfig/rawdevices即可,格式类似/etc/fstab,挂载目录必须是/dev/raw/raw[n]
[root@dbabc.net raw]# more /etc/sysconfig/rawdevices # raw device bindings # format: # # example: /dev/raw/raw1 /dev/sda1 # /dev/raw/raw2 8 5 /dev/raw/raw1 /dev/sda /dev/raw/raw2 /dev/sdb /dev/raw/raw3 /dev/sdc /dev/raw/raw4 /dev/sdd /dev/raw/raw5 /dev/sde /dev/raw/raw6 /dev/sdf /dev/raw/raw7 /dev/sdg /dev/raw/raw8 /dev/sdh /dev/raw/raw9 /dev/sdi
修改完成后运行service rawdevices restart
[root@dbabc.net raw]# /sbin/service rawdevices restart Assigning devices: /dev/raw/raw1 --> /dev/sda /dev/raw/raw1: bound to major 8, minor 0 /dev/raw/raw2 --> /dev/sdb /dev/raw/raw2: bound to major 8, minor 16 /dev/raw/raw3 --> /dev/sdc /dev/raw/raw3: bound to major 8, minor 32 /dev/raw/raw4 --> /dev/sdd /dev/raw/raw4: bound to major 8, minor 48 /dev/raw/raw5 --> /dev/sde /dev/raw/raw5: bound to major 8, minor 64 /dev/raw/raw6 --> /dev/sdf /dev/raw/raw6: bound to major 8, minor 80 /dev/raw/raw7 --> /dev/sdg /dev/raw/raw7: bound to major 8, minor 96 /dev/raw/raw8 --> /dev/sdh /dev/raw/raw8: bound to major 8, minor 112 /dev/raw/raw9 --> /dev/sdi /dev/raw/raw9: bound to major 8, minor 128
然后查看/etc/raw即可发现裸设备已出现,默认只有写权限
[root@dbabc.net ~]# ll /dev/raw total 0 crw------- 1 root root 162, 1 Dec 25 01:53 raw1 crw------- 1 root root 162, 2 Dec 25 01:53 raw2 crw------- 1 root root 162, 3 Dec 25 01:53 raw3 crw------- 1 root root 162, 4 Dec 25 01:53 raw4 crw------- 1 root root 162, 5 Dec 25 01:53 raw5 crw------- 1 root root 162, 6 Dec 25 01:53 raw6 crw------- 1 root root 162, 7 Dec 25 01:53 raw7 crw------- 1 root root 162, 8 Dec 25 01:53 raw8 crw------- 1 root root 162, 9 Dec 25 01:53 raw9
三、LV做为裸设备绑定
查看vg01的情况:
[root@dbabc.net ~]# vgdisplay -v vg01 Using volume group(s) on command line Finding volume group "vg01" --- Volume group --- VG Name vg01 System ID Format lvm2 Metadata Areas 3 Metadata Sequence No 2 VG Access read/write VG Status resizable MAX LV 0 Cur LV 1 Open LV 0 Max PV 0 Cur PV 3 Act PV 3 VG Size 5.99 GB PE Size 4.00 MB Total PE 1533 Alloc PE / Size 258 / 1.01 GB Free PE / Size 1275 / 4.98 GB VG UUID GbsJmD-TMqy-Ihk4-ctVq-ScJO-LISo-49ZCuT --- Logical volume --- LV Name /dev/vg01/stripe_lv VG Name vg01 LV UUID 9W3LYb-YOj1-NQRO-grGi-RbIV-AydK-uHALoU LV Write Access read/write LV Status available # open 0 LV Size 1.01 GB Current LE 258 Segments 1 Allocation inherit Read ahead sectors auto - currently set to 768 Block device 253:4
有一个名为stripe_lv的lv,修改/etc/sysconfig/rawdevices后
[root@dbabc.net ~]# vi /etc/sysconfig/rawdevices /dev/raw/raw1 /dev/sda /dev/raw/raw2 /dev/sdb /dev/raw/raw3 /dev/sdc /dev/raw/raw4 /dev/sdd /dev/raw/raw5 /dev/sde /dev/raw/raw6 /dev/sdf /dev/raw/raw7 /dev/sdg /dev/raw/raw8 /dev/sdh /dev/raw/raw9 /dev/sdi /dev/raw/raw10 /dev/vg01/stripe_lv
重启服务并查看
[root@dbabc.net raw]# /sbin/service rawdevices restart [root@dbabc.net ~]# ll /dev/raw total 0 crw------- 1 root root 162, 1 Dec 25 02:01 raw1 crw------- 1 root root 162, 10 Dec 25 02:01 raw10 crw------- 1 root root 162, 2 Dec 25 02:01 raw2 crw------- 1 root root 162, 3 Dec 25 02:01 raw3 crw------- 1 root root 162, 4 Dec 25 02:01 raw4 crw------- 1 root root 162, 5 Dec 25 02:01 raw5 crw------- 1 root root 162, 6 Dec 25 02:01 raw6 crw------- 1 root root 162, 7 Dec 25 02:01 raw7 crw------- 1 root root 162, 8 Dec 25 02:01 raw8 crw------- 1 root root 162, 9 Dec 25 02:01 raw9
多了raw10这一项,即刚才绑定的lv。
Copyright © Dbabc.Net All Rights Reserved.
本站内容仅代表个人观点, 与其他任何组织或公司无关
-The End-