Saya pikir Anda mungkin dapat mencapai apa yang Anda inginkan menggunakan perangkat blok jaringan (NBD). Melihat halaman wikipedia pada subjek disebutkan ada alat yang disebut nbd
. Ini terdiri dari komponen klien dan server.
Contoh
Dalam skenario ini saya menyiapkan CDROM di laptop (server) Fedora 19 saya dan membagikannya ke sistem Ubuntu 12.10 (klien).
memasang$ 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 paket YUM. Setelah selesai, saya memasukkan CD dan menjalankan 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 sedang 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 ke klien Ubuntu kita perlu terhubung ke nbd-server
menggunakan nbd-client
seperti itu. CATATAN: nama server nbd adalah telur hijau 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
pertama.)
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 kami memasangnya:
$ sudo mount /dev/nbd0p1 /mnt/
mount: block device /dev/nbd0p1 is write-protected, mounting read-only
$
berhasil? Ketegangan membunuh saya, dan kami telah lepas landas:
$ sudo ls /mnt/
EFI GPL isolinux LiveOS
Ada konten LiveCD CentOS yang saya pasang di laptop Fedora 19 dan dapat dipasang sebagai perangkat blok jaringan di Ubuntu.
Satu alternatif untuk nbd
(jika Anda tertarik) menggunakan iSCSI. tgtd
dapat dikonfigurasi untuk memiliki /dev
perangkat sebagai penyimpanan pendukungnya untuk iSCSI IQN tertentu.
Jika Anda menggunakan sistem RHEL maka Anda hanya perlu menginstal scsi-target-utils
lalu konfigurasikan/mulai tgtd
pada sistem sumber. Konfigurasi tgtd
dapat terlibat tetapi Red Hat memberikan banyak contoh berbeda untuk berbagai skenario.
Misalnya:
<target iqn.2008-09.com.example:server.target4>
direct-store /dev/sdb # Becomes LUN 1
direct-store /dev/sdc # Becomes LUN 2
direct-store /dev/sdd # Becomes LUN 3
write-cache off
vendor_id MyCompany Inc.
</target>
Untuk memulainya di Fedora/RHEL:
# systemctl start tgtd.service
# firewall-cmd --add-service iscsi-target
Anda akan menginstal iscsi-initiator-utils
pada sistem klien dan gunakan iscsiadm
untuk mengirim target lalu "masuk ke" target yang disebutkan. Misalnya:
# iscsiadm -m discovery -t sendtargets -p <remoteHost>
# iscsiadm -m node -T <Complete Target IQN> -l -p <remoteHost>
LUN iSCSI kemudian akan hadir ke sistem sebagai perangkat blok biasa. Di RHEL, Anda dapat memeriksa transportasi yang datang dari perangkat tertentu, Anda cukup melakukan ls -l /dev/disk/by-path | grep iscsi
untuk melihat penyimpanan apa yang datang melalui iSCSI. Jalur tersebut juga akan mencantumkan IQN dari target yang Anda masuki di atas.
Ketika perangkat iscsi tidak diperlukan lagi, seseorang dapat menghapusnya melalui:
# iscsiadm -m node -T <Complete Target IQN> -u -p <remoteHost>
Anda jelas lebih suka solusi SAN. Selain iSCSI dan NBD yang telah disebutkan, Anda juga memiliki pendekatan AoE (ATA over ethernet).
Ini sangat mudah dilakukan:
Di sisi penyajian, Anda perlu
modprobe aoe
vbladed 0 0 eth0 /dev/sdc
Di sisi klien
modprobe aoe
aoe-discover
aoe-stat
e0.0 1000.204GB eth0 1024 up
Perangkat Anda dalam keadaan
ls -l /dev/etherd/
c-w--w---- 1 root disk 152, 3 Mar 12 22:47 discover
brw-rw---- 1 root disk 152, 0 Mar 12 22:47 e0.0
brw-rw---- 1 root disk 152, 1 Mar 12 22:47 e0.0p1
cr--r----- 1 root disk 152, 2 Mar 12 22:47 err
c-w--w---- 1 root disk 152, 6 Mar 12 22:47 flush
c-w--w---- 1 root disk 152, 4 Mar 12 22:47 interfaces
c-w--w---- 1 root disk 152, 5 Mar 12 22:47 revalidate
Dimana e0.0
adalah /dev/sdc
Anda dan e0.0.p1
adalah /dev/sdc1
dmesg
di server:
[221384.454447] aoe: AoE v85 initialised.
dmesg
keluaran pada klien:
[ 1923.225832] aoe: AoE v85 initialised.
[ 1923.226379] aoe: e0.0: setting 1024 byte data frames
[ 1923.226910] aoe: 38607725d8b1 e0.0 v4014 has 1953525168 sectors
[ 1923.653820] etherd/e0.0: p1
Cukup mudah.
Catatan Tambahan
vbladed
adalah bagian dari paketvblade
di Fedora &Ubuntu, kemungkinan juga sama di distro lain.aoe-discover
&aoe-stat
adalah bagian dari paketaoetools
di Fedora &Ubuntu juga.- Perangkat muncul di
fdisk
sebagai perangkat blok, misalnya,/dev/etherd/e0.0
. - Versi
vblade
yang tersedia di repositori F19 dan F20 cukup kuno, ini versi 14. Halaman proyek ATAoE memiliki versi 21 yang tersedia. Ada RPM terbaru yang tersedia untuk Fedora 19 x86_64 di sini.