Linux Raw Devices
這幾天看了一下linux下的裸裝置管理,做了一些筆記,不敢獨享,共享如下:
(筆記的內容不一定正確,有錯誤請指出)
1、什麼裸裝置?字元裝置?塊裝置?
裸裝置:也叫裸分割槽(原始分割槽),是一種沒有經過格式化,不被Unix/Linux透過檔案系統來讀取的特殊字元裝置。裸裝置可以繫結一個分割槽,也可以繫結一個磁碟。
字元裝置:對字元裝置的讀寫不需要透過OS的buffer。它不可被檔案系統mount。
塊裝置:對塊裝置的讀寫需要透過OS的buffer,它可以被mount到檔案系統中。
2、一個系統可以有多少個裸裝置?
這個與linux的版本相關,在舊版本中,最多隻可以有256個裸裝置,Linux 4下做多可以繫結8192個裸裝置。
但是在linux下,最多隻能有255個分割槽,所以,如果用裸裝置繫結分割槽,最多隻能繫結255個裸裝置。
如果是用lvm,則沒有這個限制。
3、Linux下單個磁碟最多可以有多少個分割槽?
15個。3個主分割槽 + 1個擴充套件分割槽 + 11個邏輯分割槽。
建議的分割槽方法是:先分3個主分割槽,第四個分割槽為擴充套件分割槽,然後在擴充套件分割槽中再分成11個邏輯分割槽。
注意,裸裝置不要繫結在擴充套件分割槽上。
4、linux下是否需要繫結裸裝置?unix呢?
linux下如果需要使用裸裝置,則需要手工進行繫結。
unix下則不用。
因為Unix中每一個塊裝置都會有一個對應的字元裝置用於非快取(unbuffered)I/O,這就是他對應的裸裝置了。
而Linux中rawio的則實現了一套非繫結(unbound)的裸裝置/dev/rawN或者/dev/raw/rawN和一個控制裝置 /dev/rawct用來把他們繫結到塊裝置上。所以當需要使用一個裸裝置的時候,就需要把他和一個真實存在的塊裝置對應起來,這一個步驟實際上就是完成 了Unix裡的自動對應一個非快取字元裝置。
5、linux如何繫結裸裝置?
兩種方式:
1)命令繫結
raw /dev/raw/raw[n] /dev/xxx
其中n的範圍是0-8191。raw目錄不存在可以建立。
執行這個命令,就會在/dev/raw下生成一個對應的raw[n]檔案
用命令方式繫結裸裝置在系統重啟後會失效。
2)修改檔案
修改/etc/sysconfig/rawdevices檔案如下,以開機時自動載入裸裝置,如:
/dev/raw/raw1 /dev/sdb1
這種方式是透過啟動服務的方式來繫結裸裝置。
也可以把這個命令寫在/etc/rc.local上,使每次啟動都執行這些命令。
6、如何把裸裝置作為oracle資料檔案?有什麼需要注意的?
1)繫結裸裝置
參考上文
2)改變裸裝置屬主
兩種方法:
. 把命令解除安裝/etc/rc.local上
chown oracle:oinstall /dev/raw/raw1
. 修改/etc/udev/permissions.d/50-udev.permissions檔案
將/etc/udev/permissions.d/50-udev.permissions的113行
從
raw/*:root:disk:0660
修改為
raw/*:oracle:oinstall:0660
這個的意思是修改裸裝置的預設屬主為oracle:oinstall,預設的mode是0660。
如果是用lvm,也需要把邏輯卷繫結到裸裝置上,過程和繫結到普通分割槽類似。
7、使用裸裝置作為oracle資料檔案有什麼需要注意的?
使用裸裝置作為oracle的資料檔案必須注意以下幾點:
1)一個裸裝置只能放置一個資料檔案
2)資料檔案的大小不能超過裸裝置的大小
如果是日誌檔案,則裸裝置最大可用大小=裸裝置對應分割槽大小 - 1 * 512 (保留一個redo lock)
如果是資料檔案,則裸裝置最大可用大小=裸裝置對應分割槽大小 - 2 * db_block_size(保留兩個block)
為了簡單起見,對所有的檔案設定稱比裸裝置小1M即可。
3)資料檔案最好不要設定稱自動擴充套件,如果設定稱自動擴充套件,一定要把maxsize設定設定為比裸裝置小
8、是否可以直接用邏輯卷作為oracle資料檔案?
linux下oracle不能直接把邏輯卷作為裸裝置,也要進行繫結。unix下就不需要。
9、如何知道當前繫結了什麼裸裝置?
rqw -qa命令列出當前繫結的所有裸裝置。
10、如何知道某個裸裝置的大小
比較笨的辦法是,找出看裸裝置對應的是那個實際的塊裝置,然後用fdisk -l /dev/[h,s]dXN看那個塊裝置的大小就好了。
比較簡單的辦法是用blockdev命令來計算,如:
#blockdev --getsize /dev/raw/raw1
11718750
11718750表示有多少OS BLIOCK。
一般一個OS BLOCK大小是512位元組,所以11718750*512/1024/1024/1024 = 5722(m) 就是裸裝置的大小。
11、資料庫中可以同時以檔案和裸裝置作為資料檔案嗎?
可以。甚至在同一個表空間中,也可以部分資料檔案用檔案系統,部分檔案用裸裝置。
但是不建議這樣做,因為會增加管理的複雜度。
12、可以把至於裸裝置的資料檔案設成自動擴充套件嗎?
可以,但同時要設定maxsize,且maxsize不能超過:裸裝置大小 - 2*db_block_size
13、如何修改裸裝置的預設許可權
兩種方法:
1)要修改/etc/rc.d/rc.local檔案,加入如下:
chown root:oinstall /dev/raw/raw1
chown root:oinstall /dev/raw/raw2
chown root:oinstall /dev/raw/raw3
...
chmod 660 /dev/raw/raw1
chmod 660 /dev/raw/raw2
chmod 660 /dev/raw/raw3
...
2)實際上還有更簡單的方法就是,修改/etc/udev/permissions.d/50-udev.permissions檔案:
raw/*:root:disk:0660
為
raw/*:root:oinstall:0660
這樣就可以了!
14、如何取消裸裝置的繫結
用raw把major and minor設成0就可以取消裸裝置的繫結。如:
raw /dev/raw/raw1 0 0
這個命令取消繫結裸裝置的繫結,/dev/raw/raw1會被刪除
15、裸裝置可以繫結的物件可以什麼?
可以繫結整個沒有分割槽的硬碟、可以繫結硬碟的某個分割槽、可以繫結邏輯卷等。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/66634/viewspace-999625/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Embedded devices hackingdev
- Python netmiko 管理devices簡例Pythondev
- Camera Raw中文Raw增效ACR數位相機Raw圖片編輯
- RAW影像處理工具——RAW Power for MacMac
- RAW影像處理工具:RAW Power MacMac
- [LeetCode] 2960. Count Tested Devices After Test OperationsLeetCodedev
- RAW Power for Mac(RAW影像處理軟體)Mac
- Camera Raw15 for mac(PS Raw增效工具)Mac
- Camera Raw 14 Mac(Raw格式影像ps外掛)Mac
- Adobe Camera Raw
- RAW影像處理工具:RAW Power for mac中文版Mac
- 解決Arch Linux安裝AndroidStudio連結不上Android,執行adb devices出現no permissions的錯誤LinuxAndroiddev
- chenxiaolong/BCR: A Basic Call Recorder for rooted Android devices (github.com)AndroiddevGithub
- Mac強大的raw影像處理軟體:RAW PowerMac
- JavaScript String.raw()JavaScript
- Powershell and Windows RAW SOCKETWindows
- 優秀的RAW影像處理工具:RAW Power mac中文版Mac
- Camera Raw 15 for mac 15.2中文版,PS Raw增效工具Mac
- ps/lr濾鏡raw影像編輯器:ON1 Photo RAW 2022
- 小米手機 adb devices 一直卡住沒有響應dev
- raw 裸裝置資料檔案更改其他raw裸裝置位置
- ON1 Photo RAW 2022 for Mac(ps/lr濾鏡raw影像編輯器)Mac
- win10 如何檢視raw檔案 win10 如何檢視rawWin10
- Python -- raw_input() and input() -- ACMPythonACM
- 深入瞭解 Adobe Camera Raw,打造專業級Raw格式影像處理體驗!
- raw格式怎麼開啟win10_win10如何開啟raw格式照片Win10
- 閱讀筆記:Poison Over Troubled Forwarders: A Cache Poisoning Attack Targeting DNS Forwarding Devices筆記ForwardDNSdev
- RAW Power for Mac(強大的raw影像處理軟體) v3.2.1啟用版Mac
- asp .net core Get raw request.
- raw影像處理工具:DxO PureRAW
- RAW Power for MacRAW影像處理工具Mac
- 濾鏡軟體:ON1 Photo RAW 2022.5 for Mac(ps/lr濾鏡raw影像編輯器)Mac
- whereRaw 與 where (\DB::raw ()) 的區別
- MVC 中的@Html.Raw 的用法MVCHTML
- Sanic response raw() 函式用法和示例函式
- RAW照片處理器:DxO PureRAW for MacMac
- Failed to connect to raw.githubusercontent.com port 443AIGithub
- raw.githubusercontent.com port 443: Connection refusedGithub
- 影像降噪之Unprocessing Images for Learned Raw Denoising