Tungsten Fabric SDN — SmartNIC vRouter
2065
2025-03-31
目錄
文章目錄
目錄
Linux 的偽設備
Loop 設備
Linux 的偽設備
在開發或測試環境中,往往需要新建一些磁盤分區或者設備等,此時對硬盤進行重新劃分往往不太方便。在這種情況下,可以通過偽設備來進行模擬。
常見的偽設備包括:
null
zero
full
loop
random
urandom
Loop 設備
在 Linux 中,設備名稱按照相應的設備驅動程序的符號表項來進行命名。為 Loop 偽設備被命名為 loopX,例如:/dev/loop0、/dev/loop1。
Linux 默認支持 8 個 Loop 設備,如果超過 8 個,則需要額外的配置。否則會出現 no such device 或 could not find any free loop device 之類的錯誤。
可以通過修改 modprobe.conf 配置文件,增加如下參數的方式進行擴展:
$ /etc/modprobe.conf ... options loop max_loop=20 $ modprobe -v loop
1
2
3
4
5
還有一種擴展 loop 設備數量辦法是通過 mknod 指令來創建 loop 設備:
# X 表示第 X 個 loop 設備。 $ mknod -m 0660 /dev/loopX b 7 X # e.g. $ mknod -m 0660 /dev/loop8 b 7 8 $ chown root:disk /dev/loop8
1
2
3
4
5
6
使用 losetup -a 指令可以查詢目前被使用的 loop 設備:
$ losetup -a
1
在使用之前,Loop 設備必須與現存文件系統上的文件相關聯。這種關聯將提供給用戶一個應用程序接口,接口允許將文件視為一個 “塊設備”(塊特殊文件)使用。因此,如果文件中包含一個完整的文件系統,那么這個文件就能如同磁盤設備一般被掛載。
這種設備文件經常被用于光盤或是磁盤鏡像。通過循環掛載方式來掛載包含文件系統的文件,這些文件將出現在掛載點目錄,使得應用程序可以訪問這個文件系統中的文件。
例如,在 OpenStack 開發/測試環境中創建 Cinder 使用的塊存儲設備。
$ yum install -y device-mapper-persistent-data lvm2 $ systemctl enable lvm2-lvmetad.service && systemctl start lvm2-lvmetad.service && systemctl status lvm2-lvmetad.service $ mkdir -p /cinder/volumegroup $ dd if=/dev/zero of=/cinder/volumegroup/volpool01.img count=204800 bs=1MB $ losetup /dev/loop0 /cinder/volumegroup/volpool01.img $ pvcreate /dev/loop0 $ vgcreate cinder-volumes /dev/loop0 $ vgs $ vi /etc/rc.local ... losetup /dev/loop0 /cinder/volumegroup/volpool01.img pvcreate /dev/loop0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Linux
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。