DB2中使用裸裝備作為容器需要3個步驟:1. 創建LV。2. 綁定LV和裸裝備 3.創建表空間
1. 創建lv
root@ubuntu:~# vgdisplay <-查看可用的Volume Group
root@ubuntu:~# vgdisplay
--- Volume group ---
VG Name mainVG
System ID
Format lvm2
Metadata Areas 1
Metadata Sequence No 4
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 3
Open LV 1
Max PV 0
Cur PV 1
Act PV 1
VG Size 2.00 GiB
PE Size 4.00 MiB
Total PE 511
Alloc PE / Size 125 / 500.00 MiB
Free PE / Size 386 / 1.51 GiB
VG UUID b15u8R-Kt91-Tgfe⑵RX8-buKP-dfU9-Uw5a2J
root@ubuntu:~# lvcreate -L 200M -n testlv mainVG <--創建lv
Logical volume "testlv" created
root@ubuntu:~# ls -l /dev/mainVG/testlv
lrwxrwxrwx 1 root root 7 Oct 31 02:28 /dev/mainVG/testlv -> ../dm⑶
root@ubuntu:~# ls -l /dev/dm⑶
brw-rw---- 1 root disk 252, 3 Oct 31 02:28 /dev/dm⑶
可以看到新創建的lv只是1個符號鏈接,指向塊裝備dm⑶
2. 創建裸裝備raw3,并綁定到lv上
root@ubuntu:~# modprobe raw
root@ubuntu:~# mknod /dev/raw/raw3 c 162 3
root@ubuntu:~# raw /dev/raw/raw3 /dev/mainVG/testlv
/dev/raw/raw3: bound to major 252, minor 3
root@ubuntu:~# chown qingsong:qingsong /dev/raw/raw3
root@ubuntu:~# ls -l /dev/raw/raw3
crw-rw---- 1 qingsong qingsong 162, 3 Oct 31 02:32 /dev/raw/raw3
3. 切換至實例用戶,啟動http://www.vxbq.cn/db/,并創建表空間,容器使用剛剛創建的裸裝備。
qingsong@ubuntu:~$ db2start
SQL1063N DB2START processing was successful.
qingsong@ubuntu:~$ db2 connect to qsmiao
Database Connection Information
Database server = DB2/LINUXX8664 10.5.4
SQL authorization ID = QINGSONG
Local database alias = QSMIAO
qingsong@ubuntu:~$ db2 "create tablespace lvtbs managed by database using(device '/dev/raw/raw3' 300)"
DB20000I The SQL command completed successfully.
不過,重啟機器以后,創建的裸裝備/dev/raw/raw3就會消失,目前沒有找到解決辦法,1種替換方案是1開機就自動創建1次,把下面4行添加進/etc/rc.local中
modprobe raw
mknod /dev/raw/raw3 c 162 3
raw /dev/raw/raw3 /dev/mainVG/thirdlv
chown qingsong:qingsong /dev/raw/raw3
測試環境:
Ubuntu 14.04
DB2 10.5.4
參考:
http://www.informix-zone.com/node/38#fromlog
歡迎批評指正