So erstellen Sie virtuelle Blockgeräte

7

Ich möchte mehrere virtuelle Blockgeräte wie / dev / sda erstellen und sie dann verwenden, um ein MD-Gerät zu Testzwecken zu erstellen. Ich habe mein Root-Dateisystem auf / dev / sda1 gemountet und habe keinen zusätzlichen Speicherplatz zum Erstellen neuer physischer Partitionen. Daher suche ich nach einer Möglichkeit, diesen virtuellen Blockgeräten vorübergehend einen kleinen Teil meines freien Speicherplatzes zuzuweisen.

Kann ich dmsetup oder andere Dienstprogramme verwenden, um diese virtuellen Blockgeräte zu erstellen?

ARH
quelle

Antworten:

11

Sie können ein Loopback-Gerät für eine Datei erstellen und dies auf diese Weise tun

# Erstellen Sie eine 100M-Datei in / opt
dd if = / dev / zero von = / opt / dev0-backstore bs = 1M count = 100

# Erstellen Sie das Loopback-Block-Gerät 
# wobei 7 die Hauptanzahl der Loop-Gerätetreiber ist, grep loop / proc / device
mknod / dev / fake-dev0 b 7 200 

losetup / dev / fake-dev0 / opt / dev0-backstore

Machen Sie ein kleines Skript, um dies zu automatisieren und fertig.

ppetraki
quelle
1
Wie sind Sie auf 200 für eine kleine Zahl gekommen?
ARH
2
Suchen Sie in / dev nach vorhandenen Loopback-Geräten mit ls -l und wählen Sie eine kleine Zahl aus, die nicht verwendet wird. Ich habe gerade 200 aus heiterem Himmel ausgewählt.
ppetraki
Schön und danke, muss ich das bitte zu meinem hinzufügen /etc/fstab, um es dauerhaft zu machen?
George Udosen
1
@ George Ich empfehle nicht, dies "dauerhaft" zu machen. Es ist eine großartige Möglichkeit, RAID- und Dateisystemkonfigurationen zu testen, und dafür empfehle ich es. Wenn Sie ein anderes permanentes Blockierungsgerät möchten, empfehlen wir Ihnen, einen Volume-Manager wie LVM zu verwenden, für den eine gewisse Planung vor der Installation erforderlich ist. Wenn Sie dies dauerhaft machen würden, müssten Sie ein Skript erstellen, dem rc.local ausgeht, oder sogar eine udev-Regel, um die Blockgeräteknoten zu erstellen, und dann könnten Sie es in fstab wie jedes andere Blockgerät behandeln. Ich unterstütze das nicht, aber wenn Sie lernen wollen, ist das der Weg. Viel Glück.
ppetraki
1
Die Umkehrbefehlssequenz (z. B. falls Sie das Gerät neu erstellen möchten) : losetup -d /dev/fake-dev0 && rm /dev/fake-dev0.
Hi-Angel