国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

Linux系統中UUID與UDEV實際意義

IT那活兒 / 1553人閱讀
Linux系統中UUID與UDEV實際意義

點擊上方“IT那活兒”公眾號,關注后了解更多內容,不管IT什么活兒,干就完了!!!


  
目的:
通過建立知識庫管理,積累、保存信息和知識資產,為團隊內部信息和知識的傳播提供平臺,實現團隊內知識共享,也使得企業知識得到很好的精煉和沉淀。


知識點描述

UUID 是指Universally Unique Identifier,翻譯為中文是通用唯一識別碼,UUID 的目的是讓分布式系統中的所有元素都能有唯一的識別信息
如此一來,每個人都可以創建不與其它人沖突的 UUID,就不需考慮數據庫創建時的名稱重復問題。UUID 是由一組32位數的16進制數字所構成,通常我們使用UUID來標識對象或持久化數據如磁盤。

udev 是Linux 的 設備管理器 。它主要的功能是管理/dev目錄底下的設備節點。它同時也用來接替devfs及熱插拔的功能,這意味著它要在添加/刪除硬件時處理/dev目錄以及所有用戶空間的行為,包括加載固件及Linux 2.6.13內核。

詳解與實例

1. 通過uuid識別磁盤
當我們掛載新的磁盤在分布式系統中如下例:
Test服務器有兩個節點t1和t2節點,當我們在系統中掛載了三塊磁盤磁盤路徑為/dev/sda,/dev/sdb,/dev/sdc。且已經將磁盤路徑為/dev/sda掛載給了數據庫使用,當需要再掛載一塊新的磁盤給數據庫使用時,我們首先需要進行如下的審查。
查詢兩個庫相同目路徑磁盤的uuid是否一致。
例:
  • 在t1節點使用如下指令:

/usr/lib/scsi_id --whitelisted --replace-whitespace --device=/dev/sda
sda的uuid:360001440000000107021*********A
/usr/lib/scsi_id --whitelisted --replace-whitespace --device=/dev/sdb
sdb的uuid:360001440000000107021*********B

/usr/lib/scsi_id --whitelisted --replace-whitespace --device=/dev/sdc
sdc的uuid:360001440000000107021*********C
  • 在t2節點使用如下指令:

/usr/lib/scsi_id --whitelisted --replace-whitespace --device=/dev/sda
sda的uuid:360001440000000107021*********A
/usr/lib/scsi_id --whitelisted --replace-whitespace --device=/dev/sdb
sdb的uuid:360001440000000107021*********B
/usr/lib/scsi_id --whitelisted --replace-whitespace --device=/dev/sdc
sdc的uuid:360001440000000107021*********A

此時發現兩個節點的相同磁盤路徑下的uuid不一致,這時我們要確認同一塊磁盤需要根據uuid進行確認,我們通過觀察發現1節點的dev/sda與2節點中dev/sdb的uuid是一致的,所以實際上1節點的sda與二節點sdc為同一塊磁盤。當通過目路徑掛載磁盤時我們不能使用/dev/sdb進行掛載。這樣會導致uuid為360001440000000107021*********A的磁盤文件丟失。

2. udev詳解
udev --它能根據系統中硬件設備的狀態動態的更新設備文件,包括設備文件的創建,刪除,權限等。這些文件通常都定義在/dev 目錄下,但也可以在配置文件中指定。udev 必須內核中的sysfstmpfs支持,sysfs 為udev 提供設備入口和uevent 通道,tmpfs 為udev 設備文件提供存放空間。udev是通過對內核產生的設備名增加別名的方式來達到上述目的的。
udev是用戶模式程序,不會更改內核的行為,內核依然會我行我素地產生設備名如sda,sdb等。但是,udev可以根據設備的其他信息如總線等不同來區分不同的設備,并產生設備文件。udev只要為這個設備文件取一個固定的文件名就可以解決這個問題。在后續對設備的操作中,只要引用新的設備名就可以了。
例:
內核產生了sda設備名,而根據信息,這個設備對應于是我的內置硬盤,那我就可以制定udev規則,讓udev除了產生/dev/sda設備文件 外,另外創建一個符號鏈接叫/dev/internalHD

我們使用udev將如下三塊磁盤按指定的規則創建鏈接:

  • /dev/sda==>/dev/asmdatadg1
  • /dev/sdb==>/dev/asmdatadg2
  • /dev/sdc==>/dev/asmdatadg3
當我們打算使用磁盤時以防sd*設備名被內核修改,我們只需要調用/dev/asmdatadg*新的設備名即可。

注:

  • fstab:當系統啟動的時候,系統會自動地從這個文件讀取信息,并且會自動將此文件中指定的文件系統掛載到指定的目錄。
  • sysfs:是 Linux 內核中設計較新的一種虛擬的基于內存的文件系統。
  • tmpfs:基于內存的文件系統,可以使用您的內存或swap分區來存儲文件。

本文作者:李孝林(上海新炬王翦團隊)

本文來源:“IT那活兒”公眾號

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/129283.html

相關文章

  • Linux驅動實踐:你知道【字符設備驅動程序】的兩種寫法嗎?

    摘要:我們就繼續以此為基礎,用保姆級的粒度一步一步操作,來討論一下字符設備驅動程序的編寫方法。如何使用新的函數來編寫字符設備驅動程序,下一篇文章再詳細討論。 作 者:道哥,10+年嵌入式開發老兵,專注于:C/C++、嵌入式、Linux。 關注下方公眾號,回復【書籍】,獲取 Linux、嵌入式領域經典書籍;回復【PDF】,獲取所有原創文章( PDF 格式)。 目錄 ...

    Godtoy 評論0 收藏0
  • Linux Udev

    摘要:比如盤插入,電腦是如何即時的做出響應耳機插入又是如何做到自動關閉外部音量這些都跟有關。雖然很強大,功能很多,本來就針對硬盤設備的插拔做一些經驗的分享。 在我入門udev的時候,看著各種各樣的資料覺得這個東西很高深的時候,突然瞄到一篇文章里面說道: 要樹立一個信念:udev很簡單,當時不以為然,現在能夠理解,其實稍作研究就能理解了,看起來很高端很遙遠的Title,比如Linux Kern...

    macg0406 評論0 收藏0

發表評論

0條評論

IT那活兒

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<