一:這部分是網(wǎng)上搜到的,掃盲,我的操作在第二部分。
1.創(chuàng)建pv
pvcreate -M2 --metadatasize 100M /dev/sda
pvcreate -M2 --metadatasize 100M /dev/sdb1
pvcreate -M2 --metadatasize 100M /dev/sdb2
pvcreate -M2 --metadatasize 100M /dev/sdc
物理卷可以是整個(gè)硬盤(lun),也可以是硬盤上的一個(gè)分區(qū)
補(bǔ)充:元數(shù)據(jù)(Meta Data)是關(guān)于數(shù)據(jù)倉(cāng)庫(kù)的數(shù)據(jù),指在數(shù)據(jù)倉(cāng)庫(kù)建設(shè)過(guò)程中所產(chǎn)生的有關(guān)數(shù)據(jù)源定義,目標(biāo)定義,轉(zhuǎn)換規(guī)則等相關(guān)的關(guān)鍵數(shù)據(jù)。
元數(shù)據(jù)(meta data),關(guān)于數(shù)據(jù)庫(kù)中表的定義、字段的定義,元組的定義等等,是數(shù)據(jù)庫(kù)中最基礎(chǔ)的描述,所以稱之為元數(shù)據(jù)。 又稱為數(shù)據(jù)目錄,關(guān)于數(shù)據(jù)庫(kù)的數(shù)據(jù)庫(kù)。
一
個(gè)數(shù)據(jù)存儲(chǔ)在共享卷里時(shí),我們可以直接看到它是一個(gè)文檔、或圖片、或視頻、或數(shù)據(jù)庫(kù)文件,這些都是數(shù)據(jù)本身。然而在存儲(chǔ)該數(shù)據(jù)時(shí),文件系統(tǒng)還會(huì)產(chǎn)生很多無(wú)
法直接看到的,與該數(shù)據(jù)有關(guān)的數(shù)據(jù),如文件系統(tǒng)中文件檢索表,路徑信息、地址信息等,而這些數(shù)據(jù)就稱之為文檔、圖片、視頻等在共享卷中的元數(shù)據(jù)。
SAN網(wǎng)絡(luò)存儲(chǔ)共享軟件管理的主要內(nèi)容就是元數(shù)據(jù),控制元數(shù)據(jù)在多主機(jī)之間的傳輸。
我們可以在很多地方看到元數(shù)據(jù)的存儲(chǔ),網(wǎng)上DOWN下來(lái)的電影本身一個(gè)視頻文件數(shù)據(jù),而點(diǎn)擊右鍵查到看的視頻文件屬性,如存儲(chǔ)路徑、碼率、文件大小、及導(dǎo)演、演員、制作單位等就是視頻文件的元數(shù)據(jù)。
-M2指定meta data 使用lvm2格式??
2.創(chuàng)建vg
vgcreate vg_db /dev/sda /dev/sdb1 /dev/sdb2 /dev/sdc -s128m
-s, --physicalextentsize PhysicalExtentSize[kKmMgGtT]
Sets the physical extent size on physical volumes of this volume group.
3.創(chuàng)建lv
lvcreate -L2048m -i4 -I64k vg_db -n lv_2g_001
lvcreate -L2048m -i4 -I64k vg_db -n lv_2g_002
4.綁定
raw /dev/raw/raw1 /dev/mapper/vg_db-lv_2g_001
raw /dev/raw/raw2 /dev/mapper/vg_db-lv_2g_002
要注意的是lv的命名方式,命名方式分解如下:
/dev/mapper/ vgname '-' lvname.
使用raw命令綁定的裸設(shè)備在重啟后會(huì)失效。
*對(duì)于AS4
所以需要修改/etc/sysconfig/rawdevices配置文件,在文件中加入如下內(nèi)容(每個(gè)裸設(shè)備一行):
/dev/raw/raw1 /dev/mapper/vg_db-lv_2g_001
/dev/raw/raw2 /dev/mapper/vg_db-lv_2g_002
執(zhí)行 /etc/init.d/rawdevices restart 使配置文件中的裸設(shè)備生效
執(zhí)行 /sbin/chkconfig rawdevices on 保證機(jī)器啟動(dòng)的時(shí)候裸設(shè)備能夠加載
*對(duì)于AS5
raw 設(shè)備映射
raw 設(shè)備接口在 紅帽企業(yè) Linux 5 里已經(jīng)被取消了;raw 設(shè)備映射現(xiàn)在通過(guò) udev 規(guī)則進(jìn)行配置。要配置 raw 設(shè)備映射,可以在 /etc/udev/rules.d/60-raw.rules 里加入以下格式的條目:
設(shè)備名稱:
ACTION=="add", KERNEL="<device name>", RUN+="raw /dev/raw/rawX %N"
主/次號(hào)碼:
ACTION=="add", ENV{MAJOR}="A", ENV{MINOR}="B", RUN+="raw /dev/raw/rawX %M %m"
用你需要綁定的設(shè)備名稱替換 <device name>(如:/dev/sda1)。"A" 和 "B" 是設(shè)備的主/次號(hào)碼,X 是系統(tǒng)使用的 raw 設(shè)備號(hào)碼。
另外關(guān)于此處的配置有一點(diǎn)非常奇怪,我看到red hat官方文檔中關(guān)于raw.rule的示例中說(shuō)KERNEL==..或ENV{MAJOR}...只需要任意配置一個(gè)就可以,但我在具體配置過(guò)程中發(fā)現(xiàn)百試不爽,我嘗試了各種組合發(fā)現(xiàn)都不生效,必須二者同時(shí)配置才可以
5.授權(quán)
chown -R oracle.dba /dev/mapper
修改配置文件/etc/udev/permissions.d/50-udev.permissions
注釋掉raw/*:root:disk:0660
添加新行raw/*:oracle:dba:0660
6.鏈接(可選)
ln -s /dev/raw/raw1 /oradata/ningoo/system01.dbf
ln -s /dev/raw/raw2 /oradata/ningoo/undo01.dbf
二 我的操作
注:查看pv,vg,lv命令:pvdisplay,vgdisplay,lvdisplay
創(chuàng)建pv
[root@RHEL5 opt]# pvcreate pvcreate -M2 --metadatasize 100M /dev/hdc
Device pvcreate not found (or ignored by filtering).
Physical volume "/dev/hdc" successfully created
創(chuàng)建vg
[root@RHEL5 opt]# vgcreate vg_oradata /dev/hdc -s128m
Volume group "vg_oradata" successfully created
創(chuàng)建LV
[root@RHEL5 opt]# lvcreate -L 384m -I64k vg_oradata -n control_1
Ignoring stripesize argument with single stripe
Logical volume "control_1" created
另外還需要?jiǎng)?chuàng)建的裸設(shè)備有:
lvcreate -L 384M -n control_2 -I64k vg_oradata
lvcreate -L 384M -n control_3 -I64k vg_oradata
lvcreate -L 128M -n redo01_1 -I64k vg_oradata
lvcreate -L 128M -n redo01_2 -I64k vg_oradata
lvcreate -L 128M -n redo02_1 -I64k vg_oradata
lvcreate -L 128M -n redo02_2 -I64k vg_oradata
lvcreate -L 128M -n redo03_1 -I64k vg_oradata
lvcreate -L 128M -n redo03_2 -I64k vg_oradata
lvcreate -L 1024M -n system -I64k vg_oradata
lvcreate -L 1024M -n sysaux -I64k vg_oradata
lvcreate -L 1024M -n temp -I64k vg_oradata
lvcreate -L 2048M -n undodbs -I64k vg_oradata
lvcreate -L 1024M -n tools -I64k vg_oradata
lvcreate -L 3072M -n data -I64k vg_oradata
綁定
raw /dev/raw/raw1 /dev/mapper/vg_oradata-control_1
raw /dev/raw/raw2 /dev/mapper/vg_oradata-control_2
raw /dev/raw/raw3 /dev/mapper/vg_oradata-control_3
raw /dev/raw/raw4 /dev/mapper/vg_oradata-redo01_1
raw /dev/raw/raw5 /dev/mapper/vg_oradata-redo01_2
raw /dev/raw/raw6 /dev/mapper/vg_oradata-redo02_1
raw /dev/raw/raw7 /dev/mapper/vg_oradata-redo02_2
raw /dev/raw/raw8 /dev/mapper/vg_oradata-redo03_1
raw /dev/raw/raw9 /dev/mapper/vg_oradata-redo03_2
raw /dev/raw/raw10 /dev/mapper/vg_oradata-system
raw /dev/raw/raw11 /dev/mapper/vg_oradata-sysaux
raw /dev/raw/raw12 /dev/mapper/vg_oradata-temp
raw /dev/raw/raw13 /dev/mapper/vg_oradata-undodbs
raw /dev/raw/raw14 /dev/mapper/vg_oradata-tools
raw /dev/raw/raw15 /dev/mapper/vg_oradata-data
使用裸設(shè)備作為oracle數(shù)據(jù)文件有什么需要注意的?
使用裸設(shè)備作為oracle的數(shù)據(jù)文件必須注意以下幾點(diǎn):
1)一個(gè)裸設(shè)備只能放置一個(gè)數(shù)據(jù)文件
2)數(shù)據(jù)文件的大小不能超過(guò)裸設(shè)備的大小
如果是日志文件,則裸設(shè)備最大可用大小=裸設(shè)備對(duì)應(yīng)分區(qū)大小 - 1 * 512 (保留一個(gè)redo lock)
如果是數(shù)據(jù)文件,則裸設(shè)備最大可用大小=裸設(shè)備對(duì)應(yīng)分區(qū)大小 - 2 * db_block_size(保留兩個(gè)block)
為了簡(jiǎn)單起見(jiàn),對(duì)所有的文件設(shè)置稱比裸設(shè)備小1M即可。
3)數(shù)據(jù)文件最好不要設(shè)置稱自動(dòng)擴(kuò)展,如果設(shè)置稱自動(dòng)擴(kuò)展,一定要把maxsize設(shè)置設(shè)置為比裸設(shè)備小
如創(chuàng)建錯(cuò)了,刪除!!!
lvremove /dev/vg_oradata/lv_10g_02
綁定
[root@RHEL5 opt]# raw /dev/raw/raw1 /dev/mapper/vg_oradata-lv_10g_01
/dev/raw/raw1: bound to major 253, minor 3
[root@RHEL5 opt]# raw /dev/raw/raw2 /dev/mapper/vg_oradata-lv_10g_02
/dev/raw/raw2: bound to major 253, minor 2
避免重起失效:
編輯/etc/udev/rules.d/60-raw.rules,添加
ACTION=="add", KERNEL=="/dev/mapper/vg_oradata-lv_10g_01", RUN+="/bin/raw /dev/raw/raw1 %N"
ACTION=="add", KERNEL=="/dev/mapper/vg_oradata-lv_10g_02", RUN+="/bin/raw /dev/raw/raw2 %N"
或者
ACTION=="add", ENV{MAJOR}=="253", ENV{MINOR}=="3", RUN+="/bin/raw /dev/raw/raw1 %M %m"
ACTION=="add", ENV{MAJOR}=="253", ENV{MINOR}=="2", RUN+="/bin/raw /dev/raw/raw2 %M %m"
查看是否生效:
raw -qa
結(jié)果,不生效,google下,還沒(méi)人解決這個(gè)問(wèn)題,替代的方法,寫在/etc/rc.d/rc.local里
raw /dev/raw/raw1 /dev/mapper/vg_oradata-control_1
raw /dev/raw/raw2 /dev/mapper/vg_oradata-control_2
raw /dev/raw/raw3 /dev/mapper/vg_oradata-control_3
raw /dev/raw/raw4 /dev/mapper/vg_oradata-redo01_1
raw /dev/raw/raw5 /dev/mapper/vg_oradata-redo01_2
raw /dev/raw/raw6 /dev/mapper/vg_oradata-redo02_1
raw /dev/raw/raw7 /dev/mapper/vg_oradata-redo02_2
raw /dev/raw/raw8 /dev/mapper/vg_oradata-redo03_1
raw /dev/raw/raw9 /dev/mapper/vg_oradata-redo03_2
raw /dev/raw/raw10 /dev/mapper/vg_oradata-system
raw /dev/raw/raw11 /dev/mapper/vg_oradata-sysaux
raw /dev/raw/raw12 /dev/mapper/vg_oradata-temp
raw /dev/raw/raw13 /dev/mapper/vg_oradata-undodbs
raw /dev/raw/raw14 /dev/mapper/vg_oradata-tools
raw /dev/raw/raw15 /dev/mapper/vg_oradata-data
至此,裸設(shè)備建立完成
如果要取消裸設(shè)備的綁定,可以重建綁定這個(gè)裸設(shè)備到0 0。
raw /dev/raw/raw1 0 0
參考:
以下為創(chuàng)建數(shù)據(jù)文件對(duì)應(yīng)的裸設(shè)備
lvcreate -L 384M -n control_1 vg_oradata
lvcreate -L 384M -n control_2 vg_oradata
lvcreate -L 384M -n control_3 vg_oradata
lvcreate -L 128M -n redo01_1 vg_oradata 100 4組,每組6個(gè)
lvcreate -L 128M -n redo01_2 vg_oradata
lvcreate -L 128M -n redo02_1 vg_oradata
lvcreate -L 128M -n redo02_2 vg_oradata
lvcreate -L 128M -n redo03_1 vg_oradata
lvcreate -L 128M -n redo03_2 vg_oradata
lvcreate -L 1024M -n system vg_oradata
lvcreate -L 1024M -n sysaux vg_oradata
lvcreate -L 1024M -n temp vg_oradata
lvcreate -L 2048M -n undodbs vg_oradata
lvcreate -L 1024M -n tools vg_oradata
lvcreate -L 3072M -n data vg_oradata
由于linux下的裸設(shè)備還需要進(jìn)行綁定,所以還需進(jìn)行以下操作:
raw /dev/raw/raw1 /dev/mapper/vg_oradata-control_1
raw /dev/raw/raw2 /dev/mapper/vg_oradata-control_2
raw /dev/raw/raw3 /dev/mapper/vg_oradata-control_3
raw /dev/raw/raw4 /dev/mapper/vg_oradata-redo01_1
raw /dev/raw/raw5 /dev/mapper/vg_oradata-redo01_2
raw /dev/raw/raw6 /dev/mapper/vg_oradata-redo02_1
raw /dev/raw/raw7 /dev/mapper/vg_oradata-redo02_2
raw /dev/raw/raw8 /dev/mapper/vg_oradata-redo03_1
raw /dev/raw/raw9 /dev/mapper/vg_oradata-redo03_2
raw /dev/raw/raw10 /dev/mapper/vg_oradata-system
raw /dev/raw/raw11 /dev/mapper/vg_oradata-sysaux
raw /dev/raw/raw12 /dev/mapper/vg_oradata-temp
raw /dev/raw/raw13 /dev/mapper/vg_oradata-undodbs
raw /dev/raw/raw14 /dev/mapper/vg_oradata-tools
raw /dev/raw/raw15 /dev/mapper/vg_oradata-data