web-dev-qa-db-ja.com

永久的に取り付けられたループ装置

ファイルを作成しました

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

b)UUIDを取得できないため、/etc/fstabを使用して永続的にマウントするにはどうすればよいですか?

$ 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
2
pkaramol

ファイルシステムの作成に関する手順がありません。

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で直接マウントできます(losetupを使用する必要がなくなり、UUIDが本当に必要ないため、ファイルは/ devデバイスとは異なります。別の順序でプローブされ、移動しないため、絶対パスを使用しても問題ありません)。

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