Saya pikir Anda mungkin dapat mencapai apa yang Anda inginkan menggunakan perangkat blok jaringan (NBD). Melihat halaman wikipedia pada subjek ada disebutkan alat yang disebut nbd
. Ini terdiri dari komponen klien dan server.
Contoh
Dalam skenario ini saya menyiapkan CDROM pada laptop Fedora 19 saya (server) dan saya membagikannya ke sistem Ubuntu 12.10 (klien).
menginstal
$ apt-cache search ^nbd-
nbd-client - Network Block Device protocol - client
nbd-server - Network Block Device protocol - server
$ sudo apt-get install nbd-server nbd-client
berbagi CD
Sekarang kembali ke server (Fedodra 19) Saya melakukan hal serupa menggunakan manajer paketnya YUM. Setelah selesai saya masukkan CD dan jalankan perintah ini untuk membagikannya sebagai perangkat blok:
$ sudo nbd-server 2000 /dev/sr0
** (process:29516): WARNING **: Specifying an export on the command line is deprecated.
** (process:29516): WARNING **: Please use a configuration file instead.
$
Pemeriksaan cepat untuk melihat apakah itu berjalan:
$ ps -eaf | grep nbd
root 29517 1 0 12:02 ? 00:00:00 nbd-server 2000 /dev/sr0
root 29519 29071 0 12:02 pts/6 00:00:00 grep --color=auto nbd
Memasang CD
Sekarang kembali pada klien Ubuntu kita perlu terhubung dengan nbd-server
menggunakan nbd-client
seperti itu. CATATAN: nama server nbd adalah greeneggs dalam contoh ini.
$ sudo nbd-client greeneggs 2000 /dev/nbd0
Negotiation: ..size = 643MB
bs=1024, sz=674983936 bytes
(Pada beberapa sistem - misalnya Fedora - kita harus modprobe nbd
terlebih dahulu.)
Kami dapat mengonfirmasi bahwa sekarang ada perangkat blok di sistem Ubuntu menggunakan lsblk
:
$ sudo lsblk -l
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 465.8G 0 disk
sda1 8:1 0 243M 0 part /boot
sda2 8:2 0 1K 0 part
sda5 8:5 0 465.5G 0 part
ubuntu-root (dm-0) 252:0 0 461.7G 0 lvm /
ubuntu-swap_1 (dm-1) 252:1 0 3.8G 0 lvm [SWAP]
sr0 11:0 1 654.8M 0 rom
nbd0 43:0 0 643M 1 disk
nbd0p1 43:1 0 643M 1 part
Dan sekarang kita pasang:
$ sudo mount /dev/nbd0p1 /mnt/
mount: block device /dev/nbd0p1 is write-protected, mounting read-only
$
apa itu bekerja?
Ketegangan itu membunuhku, dan kami harus lepas landas:
$ sudo ls /mnt/
EFI GPL isolinux LiveOS
Ada konten LiveCD dari CentOS yang saya pasang di laptop Fedora 19 dan dapat memasangnya sebagai perangkat blok jaringan di Ubuntu.
greeneggs
adalah nama host server.Salah satu alternatif untuk
nbd
(jika Anda tertarik) adalah menggunakan iSCSI.tgtd
dapat dikonfigurasikan untuk memiliki/dev
perangkat sebagai penyimpanan pendukungnya untuk iSCSI IQN tertentu.Jika Anda menggunakan sistem RHEL maka Anda hanya perlu menginstal
scsi-target-utils
dan kemudian mengkonfigurasi / memulaitgtd
pada sistem sumber. Konfigurasitgtd
dapat terlibat tetapi Red Hat memberikan banyak contoh berbeda untuk berbagai skenario.Sebagai contoh:
Untuk memulainya di Fedora / RHEL:
Anda akan menginstal
iscsi-initiator-utils
pada sistem klien dan menggunakaniscsiadm
untuk mengirim target kemudian untuk "masuk" ke target yang disebutkan. Sebagai contoh:LUN iSCSI kemudian akan hadir ke sistem sebagai perangkat blok biasa. Di RHEL, Anda dapat memeriksa pengangkutan perangkat tertentu yang datang. Anda cukup melakukan a
ls -l /dev/disk/by-path | grep iscsi
untuk melihat penyimpanan apa yang terjadi pada iSCSI. Path juga akan mencantumkan IQN dari target yang Anda masuki di atas.Ketika perangkat iscsi tidak diperlukan lagi, seseorang dapat menghapusnya melalui:
sumber
Anda jelas lebih suka solusi SAN. Selain iSCSI dan NBD yang telah disebutkan, Anda juga memiliki pendekatan AoE (ATA over ethernet).
Ini sangat mudah untuk dilakukan:
Di sisi servis Anda perlu melakukannya
Di sisi klien
Perangkat Anda ada di
Dimana
e0.0
kamu/dev/sdc
dane0.0.p1
mana/dev/sdc1
dmesg
di server:dmesg
output pada klien:Sangat mudah.
catatan tambahan
vbladed
adalah bagian dari paketvblade
di Fedora & Ubuntu, kemungkinan sama di distro lain juga.aoe-discover
&aoe-stat
Merupakan bagian dari paketaoetools
di Fedora & Ubuntu juga.fdisk
sebagai perangkat blok, misalnya/dev/etherd/e0.0
,.vblade
yang tersedia di repositori F19 dan F20 cukup tanggal, ini versi 14. Halaman proyek ATAoE memiliki versi 21 tersedia. Ada RPM yang diperbarui tersedia untuk Fedora 19 x86_64 di sini .sumber
dmesg
?Meskipun solusi ini berhasil, hanya disajikan sebagai metode untuk menunjukkan TMWTDI.
Untuk pengaturan ini, kita memerlukan sistem yang terinspirasi unix untuk meng-host perangkat blok, dan sistem dengan perangkat blok belakang untuk sistem untuk melihatnya. Linux akan bekerja untuk keduanya.
Selanjutnya kita memerlukan sistem file jaringan bodoh (tidak boleh membuat optimasi penyimpanan data), seperti samba atau webdav. Khususnya NFS, dan AFS tidak akan berfungsi.
Tempatkan perangkat blok dalam folder yang diekspor. (
man mknod
akan membantu.) menonaktifkan pemeriksaan perangkat blok jika berlaku me-mount sistem file yang diekspor pada komputer klien, membuat perangkat loop menggunakan file yang diimpor sebagai backing store dan mount seperti biasa. (losetup
ataumount -o loop
)Bagaimana dan mengapa ia bekerja, dan mengapa kinerjanya payah: Salah satu ide inti di balik unix adalah bahwa semuanya adalah file, jadi perangkat adalah file hanya mereka yang sedikit spesial (itulah mengapa mereka disebut file khusus). Ada beberapa jenis file khusus yang dapat diproduksi mknod, tetapi kita hanya akan melihat perangkat blokir. perangkat blok ada di sistem file seperti file lain dan seperti file lain yang mereka miliki pemilik, izin, inode, dan nama; tetapi mereka memiliki dua perbedaan: mereka tidak menyimpan data mereka di sistem file, dan mereka memiliki kemampuan ekstra sehingga mereka dapat dipasang. Jika server file cukup bodoh untuk tidak memperhatikan perbedaan ini, Anda dapat mengabaikannya dan mengekspornya sebagai file biasa. Selanjutnya perangkat loop mengambil file biasa (lokal atau jarak jauh) dan menambahkan properti dan kemampuan khusus sehingga Anda dapat me-mount file biasa seolah-olah mereka adalah perangkat blok. Kelemahan besar adalah kinerja.
sumber