Filesystems

永久安裝迴路裝置

  • December 14, 2018

我創建了一個文件

touch /datastore/virtual/pseudoblock

用它創建了一個循環設備

sudo losetup /dev/loop0 /datastore/virtual/pseudoblock

(雖然我收到了關於它的大小的警告)

然後用隨機數據初始化它

dd if=/dev/urandom of=/dev/loop0 bs=1M count=100

我的問題是

a) 為什麼它還沒有顯示在我的塊設備列表中?

NAME                     MAJ:MIN RM   SIZE RO TYPE  MOUNTPOINT
sdb                        8:16   0 489.1G  0 disk  
├─sdb2                     8:18   0   488M  0 part  /boot
├─sdb3                     8:19   0 488.1G  0 part  
│ └─sdb3_crypt           253:0    0 488.1G  0 crypt 
│   ├─ubuntu--vg-root    253:1    0 472.2G  0 lvm   /
│   └─ubuntu--vg-swap_1  253:2    0  15.9G  0 lvm   [SWAP]
└─sdb1                     8:17   0   512M  0 part  /boot/efi
sda                        8:0    0 931.5G  0 disk  
└─sda1                     8:1    0 931.5G  0 part  
 └─sda1_crypt           253:3    0 931.5G  0 crypt 
   └─store--vg-store1tb 253:4    0 931.5G  0 lvm   /datastore

/etc/fstabb)由於我無法獲得它,我該如何永久安裝它UUID

$ blkid
/dev/mapper/sdb3_crypt: UUID="fSHjbj-51K2-QfhI-G0Wb-o3lN-4pE1-BB4wCP" TYPE="LVM2_member"
/dev/mapper/ubuntu--vg-root: UUID="9e452886-4d8g-fj54-854c-80bc171826e8" TYPE="ext4"

工作

$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 16.04.5 LTS
Release:    16.04
Codename:   xenial

$ uname -a
Linux pkara-pc01 4.15.0-42-generic #45~16.04.1-Ubuntu SMP Mon Nov 19 13:02:27 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux

您缺少有關創建文件系統的步驟。

dd if=/dev/urandom of=pseudoblock bs=1M count=100
losetup /dev/loop0 pseudoblock

現在您可以在其上創建文件系統。

mkfs.ext4 /dev/loop0

完成後,我可以獲得一個 UUID(它標識文件系統,所以如果您還沒有創建一個,您將不會獲得 UUID),然後找到它。

blkid
/dev/vda1: UUID="a76b548b-f4e4-4616-bea0-469775cb852d" TYPE="ext4" PARTUUID="8395c684-01"
/dev/loop0: UUID="bb784e83-8484-4822-8930-20e02f689450" TYPE="ext4"

然後我掛載它,我可以在裡面寫東西。

mount /dev/loop0 /mnt/loop

並且一旦使用文件系統初始化該偽塊設備,您就可以使用 fstab 使用類似的行直接掛載它(不再需要使用 losttup,並且實際上不需要 UUID,該文件不像 /dev 設備可以以不同的順序進行探測,它不會移動,所以使用它的絕對路徑沒有問題)。

/root/pseudoblock  /mnt/loop    auto loop 0 0

引用自:https://unix.stackexchange.com/questions/487919