Linux平臺使用裸裝置作為檔案儲存方式

尛樣兒發表於2011-12-09

        雖然在Linux裝了很多單機版的Oracle資料庫,但是還未直接使用過裸裝置作為各種檔案的儲存方式來安裝資料庫。下面討論一下在LInux平臺使用裸裝置作為存放方式安裝資料庫。
一.建立物理塊分割槽裝置檔案      
        在Linux平臺使用傳統的fdisk進行分割槽的話,對分割槽個數是有限制的,3個主分割槽和邏輯分割槽之和最多隻能有15個,但在實際的部署中,需要的裸裝置個數遠遠大於這個值。為了能建立更多的裸裝置就必須使用到Linux平臺的LVM技術,對於一個VG來說,最多可以建立255個LV,也就是說一個VG可以最多有255個裸裝置。
        伺服器包含4張300GB的SAS盤,做成RAID5,在系統上只能看到一個裝置/dev/sda,其中/dev/sda1作為/boot,/dev/sda2作為swap,/dev/sda3作為/,/dev/sda4作為LVM的物理卷被使用。執行下面的命令建立物理卷、卷組、邏輯卷:
pvcreate /dev/sda4
vgcreate -s 256M oravg /dev/sda4
vgchange -a y oravg
lvcreate -L 100M -n sglaw_ctl01 oravg
lvcreate -L 100M -n sglaw_ctl02 oravg
lvcreate -L 100M -n sglaw_ctl03 oravg
lvcreate -L 256M -n sglaw_redo01 oravg
lvcreate -L 256M -n sglaw_redo02 oravg
lvcreate -L 256M -n sglaw_redo03 oravg
lvcreate -L 256M -n sglaw_redo04 oravg
lvcreate -L 10G -n sglaw_data01 oravg
lvcreate -L 10G -n sglaw_data02 oravg
lvcreate -L 10G -n sglaw_data03 oravg
lvcreate -L 10G -n sglaw_data04 oravg
lvcreate -L 10G -n sglaw_data05 oravg
lvcreate -L 10G -n sglaw_data06 oravg
lvcreate -L 10G -n sglaw_data07 oravg
lvcreate -L 10G -n sglaw_data08 oravg
lvcreate -L 10G -n sglaw_data09 oravg
lvcreate -L 10G -n sglaw_data10 oravg
lvcreate -L 10G -n sglaw_data11 oravg
lvcreate -L 10G -n sglaw_data12 oravg
lvcreate -L 10G -n sglaw_data13 oravg
lvcreate -L 10G -n sglaw_data14 oravg
lvcreate -L 10G -n sglaw_data15 oravg
lvcreate -L 10G -n sglaw_data16 oravg
lvcreate -L 10G -n sglaw_data17 oravg
lvcreate -L 10G -n sglaw_data18 oravg
lvcreate -L 10G -n sglaw_data19 oravg
lvcreate -L 10G -n sglaw_data20 oravg
lvcreate -L 10G -n sglaw_data21 oravg
lvcreate -L 10G -n sglaw_data22 oravg
lvcreate -L 10G -n sglaw_data23 oravg
lvcreate -L 10G -n sglaw_data24 oravg
lvcreate -L 10G -n sglaw_data25 oravg
lvcreate -L 10G -n sglaw_data26 oravg
lvcreate -L 10G -n sglaw_data27 oravg
lvcreate -L 10G -n sglaw_data28 oravg
lvcreate -L 10G -n sglaw_data29 oravg
lvcreate -L 10G -n sglaw_data30 oravg
lvcreate -L 1G -n sglaw_user01 oravg
        建立的LV用於存放控制檔案、日誌檔案和資料檔案。Linux平臺LVM的使用可以參考文章:
http://space.itpub.net/23135684/viewspace-712121

二.建立物理字元裝置檔案
        大家都知道塊裝置檔案是不能作為資料檔案或其他檔案被直接使用的,必須建立塊裝置檔案對應的字元裝置檔案。下面在/etc/rc.d/rc.local配置檔案中加入如下語句,使得系統在啟動的時候建立塊裝置檔案對應的字元裝置檔案:
/bin/raw /dev/raw/raw1 /dev/oravg/sglaw_ctl01
/bin/raw /dev/raw/raw2 /dev/oravg/sglaw_ctl02
/bin/raw /dev/raw/raw3 /dev/oravg/sglaw_ctl03
/bin/raw /dev/raw/raw4 /dev/oravg/sglaw_redo01
/bin/raw /dev/raw/raw5 /dev/oravg/sglaw_redo02
/bin/raw /dev/raw/raw6 /dev/oravg/sglaw_redo03
/bin/raw /dev/raw/raw7 /dev/oravg/sglaw_redo04
/bin/raw /dev/raw/raw8 /dev/oravg/sglaw_data01
/bin/raw /dev/raw/raw9 /dev/oravg/sglaw_data02
/bin/raw /dev/raw/raw10 /dev/oravg/sglaw_data03
/bin/raw /dev/raw/raw11 /dev/oravg/sglaw_data04
/bin/raw /dev/raw/raw12 /dev/oravg/sglaw_data05
/bin/raw /dev/raw/raw13 /dev/oravg/sglaw_data06
/bin/raw /dev/raw/raw14 /dev/oravg/sglaw_data07
/bin/raw /dev/raw/raw15 /dev/oravg/sglaw_data08
/bin/raw /dev/raw/raw16 /dev/oravg/sglaw_data09
/bin/raw /dev/raw/raw17 /dev/oravg/sglaw_data10
/bin/raw /dev/raw/raw18 /dev/oravg/sglaw_data11
/bin/raw /dev/raw/raw19 /dev/oravg/sglaw_data12
/bin/raw /dev/raw/raw20 /dev/oravg/sglaw_data13
/bin/raw /dev/raw/raw21 /dev/oravg/sglaw_data14
/bin/raw /dev/raw/raw22 /dev/oravg/sglaw_data15
/bin/raw /dev/raw/raw23 /dev/oravg/sglaw_data16
/bin/raw /dev/raw/raw24 /dev/oravg/sglaw_data17
/bin/raw /dev/raw/raw25 /dev/oravg/sglaw_data18
/bin/raw /dev/raw/raw26 /dev/oravg/sglaw_data19
/bin/raw /dev/raw/raw27 /dev/oravg/sglaw_data20
/bin/raw /dev/raw/raw28 /dev/oravg/sglaw_data21
/bin/raw /dev/raw/raw29 /dev/oravg/sglaw_data22
/bin/raw /dev/raw/raw30 /dev/oravg/sglaw_data23
/bin/raw /dev/raw/raw31 /dev/oravg/sglaw_data24
/bin/raw /dev/raw/raw32 /dev/oravg/sglaw_data25
/bin/raw /dev/raw/raw33 /dev/oravg/sglaw_data26
/bin/raw /dev/raw/raw34 /dev/oravg/sglaw_data27
/bin/raw /dev/raw/raw35 /dev/oravg/sglaw_data28
/bin/raw /dev/raw/raw36 /dev/oravg/sglaw_data29
/bin/raw /dev/raw/raw37 /dev/oravg/sglaw_data30
/bin/raw /dev/raw/raw38 /dev/oravg/sglaw_user01
/bin/chown oracle:oinstall /dev/raw/*
       使用raw命令建立塊裝置檔案對應的字元裝置檔案,將所有字元裝置檔案的所有者許可權修改為oracle:oinstall。如果磁碟是從儲存掛載過來的多張磁碟,且每個磁碟15個分割槽足夠的話,那麼也可不選擇使用LVM,可以透過使用udev的方式來建立分割槽對應的裸裝置字元檔案。使用udev繫結裸裝置的相關內容可以參考:
http://space.itpub.net/23135684/viewspace-696799

三.建立塊裝置檔案對應的連結檔案
       建立連結檔案的目的在於透過連結檔案的名稱可以判斷出檔案的用途、大小等自定義含義,有利於日常的管理工作,執行下面的命令建立字元裝置檔案對應的連結檔案:
ln -s /dev/raw/raw1 /u01/app/oracle/oradata/sglawdb/control01.ctl
ln -s /dev/raw/raw2 /u01/app/oracle/oradata/sglawdb/control02.ctl
ln -s /dev/raw/raw3 /u01/app/oracle/oradata/sglawdb/control03.ctl
ln -s /dev/raw/raw4 /u01/app/oracle/oradata/sglawdb/redo01.log
ln -s /dev/raw/raw5 /u01/app/oracle/oradata/sglawdb/redo02.log
ln -s /dev/raw/raw6 /u01/app/oracle/oradata/sglawdb/redo03.log
ln -s /dev/raw/raw7 /u01/app/oracle/oradata/sglawdb/redo04.log
ln -s /dev/raw/raw8 /u01/app/oracle/oradata/sglawdb/data01.dbf
ln -s /dev/raw/raw9 /u01/app/oracle/oradata/sglawdb/data02.dbf
ln -s /dev/raw/raw10 /u01/app/oracle/oradata/sglawdb/data03.dbf
ln -s /dev/raw/raw11 /u01/app/oracle/oradata/sglawdb/data04.dbf
ln -s /dev/raw/raw12 /u01/app/oracle/oradata/sglawdb/data05.dbf
ln -s /dev/raw/raw13 /u01/app/oracle/oradata/sglawdb/data06.dbf
ln -s /dev/raw/raw14 /u01/app/oracle/oradata/sglawdb/data07.dbf
ln -s /dev/raw/raw15 /u01/app/oracle/oradata/sglawdb/data08.dbf
ln -s /dev/raw/raw16 /u01/app/oracle/oradata/sglawdb/data09.dbf
ln -s /dev/raw/raw17 /u01/app/oracle/oradata/sglawdb/data10.dbf
ln -s /dev/raw/raw18 /u01/app/oracle/oradata/sglawdb/data11.dbf
ln -s /dev/raw/raw19 /u01/app/oracle/oradata/sglawdb/data12.dbf
ln -s /dev/raw/raw20 /u01/app/oracle/oradata/sglawdb/data13.dbf
ln -s /dev/raw/raw21 /u01/app/oracle/oradata/sglawdb/data14.dbf
ln -s /dev/raw/raw22 /u01/app/oracle/oradata/sglawdb/data15.dbf
ln -s /dev/raw/raw23 /u01/app/oracle/oradata/sglawdb/data16.dbf
ln -s /dev/raw/raw24 /u01/app/oracle/oradata/sglawdb/data17.dbf
ln -s /dev/raw/raw25 /u01/app/oracle/oradata/sglawdb/data18.dbf
ln -s /dev/raw/raw26 /u01/app/oracle/oradata/sglawdb/data19.dbf
ln -s /dev/raw/raw27 /u01/app/oracle/oradata/sglawdb/data20.dbf
ln -s /dev/raw/raw28 /u01/app/oracle/oradata/sglawdb/data21.dbf
ln -s /dev/raw/raw29 /u01/app/oracle/oradata/sglawdb/data22.dbf
ln -s /dev/raw/raw30 /u01/app/oracle/oradata/sglawdb/data23.dbf
ln -s /dev/raw/raw31 /u01/app/oracle/oradata/sglawdb/data24.dbf
ln -s /dev/raw/raw32 /u01/app/oracle/oradata/sglawdb/data25.dbf
ln -s /dev/raw/raw33 /u01/app/oracle/oradata/sglawdb/data26.dbf
ln -s /dev/raw/raw34 /u01/app/oracle/oradata/sglawdb/data27.dbf
ln -s /dev/raw/raw35 /u01/app/oracle/oradata/sglawdb/data28.dbf
ln -s /dev/raw/raw36 /u01/app/oracle/oradata/sglawdb/data29.dbf
ln -s /dev/raw/raw37 /u01/app/oracle/oradata/sglawdb/data30.dbf
ln -s /dev/raw/raw38 /u01/app/oracle/oradata/sglawdb/user01.dbf

        以上是這次在Linux平臺使用裸裝置作為儲存方式建立資料庫,有關裸裝置檔案建立的記錄,以及對以前關於裸裝置文章的補充。
--end--

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/23135684/viewspace-713076/,如需轉載,請註明出處,否則將追究法律責任。

相關文章