Panduan ini menjelaskan bagaimana Anda dapat mengatur target AoE dan inisiator AoE (klien), keduanya menjalankan Ubuntu 12.10. AoE adalah singkatan dari "ATA over Ethernet" dan merupakan protokol jaringan area penyimpanan (SAN) yang memungkinkan pemrakarsa AoE untuk menggunakan perangkat penyimpanan pada target AoE (jarak jauh) menggunakan kabel ethernet normal. "Jarak jauh" dalam hal ini berarti "di dalam LAN yang sama" karena AoE tidak dapat dirutekan di luar LAN (ini adalah perbedaan utama dibandingkan dengan iSCSI). Untuk inisiator AoE, penyimpanan jarak jauh terlihat seperti hard drive lokal yang terpasang normal.
Saya tidak memberikan jaminan apa pun bahwa ini akan berhasil untuk Anda!
1 Catatan Awal
Saya menggunakan dua server Ubuntu 12.10 di sini:
- server1.example.com (Inisiator):Alamat IP 192.168.0.100
- server2.example.com (Target):Alamat IP 192.168.0.101
2 Memuat Modul Kernel aoe Pada Kedua Sistem
server1/server2:
Sebelum kita mulai, kita harus memastikan bahwa kernel mendukung AoE:
grep ATA_OVER /boot/config-`uname -r`
Ini akan menampilkan sesuatu seperti ini:
[email protected]:~# grep ATA_OVER /boot/config-`uname -r`
CONFIG_ATA_OVER_ETH=m
[email protected]:~#
Ini berarti bahwa AoE dibangun sebagai modul kernel. Mari kita periksa apakah modul sudah dimuat:
lsmod | grep aoe
Jika Anda tidak mendapatkan apa-apa kembali, ini berarti tidak dimuat. Dalam hal ini kita dapat memuatnya sebagai berikut:
modprobe aoe
Mari kita periksa lagi apakah modul sudah dimuat:
lsmod | grep aoe
[dilindungi email]:~# lsmod | grep aoe
aoe 26960 0
[email protected]:~#
Agar modul dimuat secara otomatis saat sistem melakukan boot, kami menambahkan modul aoe ke /etc/modules:
vi /etc/modules
# /etc/modules:modul kernel untuk dimuat saat boot.## File ini berisi nama modul kernel yang harus dimuat# saat boot waktu, satu per baris. Baris yang diawali dengan "#" diabaikan.looplprtcaoe |
3 Menyiapkan Target (server2)
server2:
Pertama kita siapkan target (server2):
apt-get install vblade
Kita dapat menggunakan volume logis yang tidak digunakan, file gambar, hard drive (misalnya /dev/sdb), partisi hard drive (misalnya /dev/sdb1) atau perangkat RAID (misalnya /dev/md0) untuk penyimpanan. Dalam contoh ini saya akan membuat volume logis 20GB bernama storage1 di grup volume vg0:
lvcreate -L20G -n storage1 vg0
(Jika Anda ingin menggunakan file gambar, Anda dapat membuatnya sebagai berikut:
mkdir /storage
dd if=/dev/zero of=/storage/storage1.img bs=1024k count=20000
Ini membuat file gambar /storage/storage1.img dengan ukuran 20GB.
)
Sekarang kami mengekspor perangkat penyimpanan kami sebagai berikut:
vbladed 0 1 eth0 /dev/vg0/storage1
Angka pertama (0) adalah nomor rak (mayor), yang kedua (1) nomor slot (minor), ubah angka ini sesuai keinginan Anda. Setiap perangkat AoE diidentifikasi oleh pasangan mayor/minor yang harus unik (jika Anda mengekspor beberapa perangkat), dengan mayor antara 0-65535 dan minor antara 0-255. Bagian eth0 memberi tahu vbladed perangkat ethernet mana yang akan digunakan (jika perangkat ethernet Anda adalah eth1, maka gunakan eth1 - Anda dapat mengetahui tentang perangkat ethernet Anda dengan menjalankan
ifconfig
).
Untuk memulai ekspor secara otomatis setiap kali Anda mem-boot target, buka /etc/rc.local...
vi /etc/rc.local
... dan tambahkan baris berikut ke dalamnya (sebelum baris exit 0):
[...]vbladed 0 1 eth0 /dev/vg0/storage1[...] |
4 Menyiapkan Inisiator (server1)
server1:
Di server1, kami menginstal inisiator:
apt-get install aoetools
Sekarang kami memeriksa perangkat penyimpanan AoE apa yang tersedia:
aoe-discover
Perintah
aoe-stat
sekarang harus menunjukkan perangkat penyimpanan:
[email protected]:~# aoe-stat
e0.1 21.474GB eth0 up
[email protected]:~#
Pada titik ini kami memiliki perangkat blok baru yang tersedia di kotak klien bernama /dev/etherd/e0.1. Jika kita melihat pada pohon /dev, sebuah node baru muncul:
ls -la /dev/etherd/
[email protected]:~# ls -la /dev/etherd/
total 0
drwxr-xr-x 2 root root 160 2012-10-01 16:24 .
drwxr-xr-x 16 root root 3800 2012-10-01 16:21 ..
c-w--w---- 1 root disk 152, 3 2012-10-01 16:21 temukan
brw-rw---- 1 root disk 152, 16 2012-10-01 16:24 e0.1
cr--r----- 1 root disk 152, 2 2012-10-01 16:21 err
c-w--w---- 1 root disk 152, 6 2012-10-01 16:21 flush
c-w--w---- 1 root disk 152, 4 2012-10 -01 16:21 antarmuka
c-w--w---- 1 root disk 152, 5 2012-10-01 16:21 validasi ulang
[email protected]:~#
Pada keluaran
fdisk -l
Anda sekarang juga harus menemukan hard drive baru:
[email protected]:~# fdisk -l
Disk /dev/sda: 32.2 GB, 32212254720 bytes
255 heads, 63 sektor/track, 3916 silinder
Satuan = silinder dari 16065 * 512 = 8225280 byte
Ukuran sektor (logis/fisik): 512 bita / 512 bita
Ukuran I/O (minimum/optimal): 512 bita / 512 bita
pengidentifikasi disk: 0x00016be9
Device Boot Mulai End Blocks Id System
/dev/sda1 * 1 > 83 1 88 /dev/sda2 32 3917 31205377 5 Diperpanjang
/dev/sda5 32 3917 312053 8 255 head, 63 sektor/track, 2610 silinder
Satuan = silinder 16065 * 512 = 8225280 byte
Ukuran sektor (logis/fisik): 512 byte / 512 byte
ukuran I/O ( minimum/optimal): 512 byte / 512 byte
Pengidentifikasi disk: 0x00000000
Di sk /dev/etherd/e0.1 tidak berisi tabel partisi yang valid
[dilindungi email]:~#
Untuk menggunakan perangkat itu, kita harus memformatnya:
fdisk /dev/etherd/e0.1
[email protected]:~# fdisk /dev/etherd/e0.1
Perangkat tidak berisi tabel partisi DOS yang valid, juga disklabel Sun, SGI, atau OSF
Membuat label disk DOS baru dengan pengenal disk 0x3093ae28.
Perubahan hanya akan tetap di memori, sampai Anda memutuskan untuk menulisnya.
Setelah itu, tentu saja, konten sebelumnya tidak akan dapat dipulihkan.
Peringatan:tanda tidak valid 0x0000 dari tabel partisi 4 akan dikoreksi dengan w(rite)
PERINGATAN: mode yang kompatibel dengan DOS tidak digunakan lagi. Sangat disarankan untuk
mematikan mode (command 'c') dan mengubah unit tampilan menjadi
sektor (command 'u').
Command (m untuk bantuan):<-- n
Tindakan perintah
e diperpanjang
p partisi primer (1-4)
<-- p
Nomor partisi (1-4): <- - 1
Silinder pertama (1-2610, default 1): <-- ENTER
Menggunakan nilai default 1
Silinder terakhir, +silinder atau +ukuran{K,M,G} (1 -2610, default 2610): <-- ENTER
Menggunakan nilai default 2610
Command (m for help): <-- t
Partisi yang dipilih 1
Hex kode (ketik L untuk mencantumkan kode): <-- 83
Perintah (m untuk bantuan): <-- w
Tabel partisi telah diubah!
Memanggil ioctl() untuk membaca ulang tabel partisi.
Menyinkronkan disk.
[email protected]:~#
Setelah itu, output dari
fdisk -l
akan terlihat sebagai berikut:
[email protected]:~# fdisk -l
Disk /dev/sda: 32.2 GB, 32212254720 bytes
255 heads, 63 sektor/track, 3916 silinder
Satuan = silinder dari 16065 * 512 = 8225280 byte
Ukuran sektor (logis/fisik): 512 bita / 512 bita
Ukuran I/O (minimum/optimal): 512 bita / 512 bita
pengidentifikasi disk: 0x00016be9
Device Boot Mulai End Blocks Id System
/dev/sda1 * 1 > 83 1 88 /dev/sda2 32 3917 31205377 5 Diperpanjang
/dev/sda5 32 3917 312053 8 255 head, 63 sektor/track, 2610 silinder
Satuan = silinder 16065 * 512 = 8225280 byte
Ukuran sektor (logis/fisik): 512 byte / 512 byte
ukuran I/O ( minimum/optimal): 512 byte / 512 byte
Pengidentifikasi disk: 0x3093ae28
Device Boot Start End Blocks Id System
/dev/etherd/e0.1p1 1 <839647 >mailSekarang kita membuat sistem file di /dev/etherd/e0.1p1...
mkfs.ext4 /dev/etherd/e0.1p1... dan pasang untuk tujuan pengujian:
mount /dev/etherd/e0.1p1 /mntAnda sekarang akan melihat perangkat baru di output...
pasang[email protected]:~# mount
/dev/mapper/server1-root on / ketik ext4 (rw,errors=remount-ro)
proc on /proc ketik proc (rw,noexec ,nosuid,nodev)
none on /sys ketik sysfs (rw,noexec,nosuid,nodev)
none on /sys/fs/fuse/connections ketik fusectl (rw)
none on / sys/kernel/jenis debug debugfs (rw)
none on /sys/kernel/security jenis securityfs (rw)
none on /dev ketik devtmpfs (rw,mode=0755)
none on /dev/pts ketik devpts (rw,noexec,nosuid,gid=5,mode=0620)
none on /dev/shm ketik tmpfs (rw,nosuid,nodev)
none on /var/run ketik tmpfs (rw,nosuid,mode=0755)
none on /var/lock ketik tmpfs (rw,noexec,nosuid,nodev)
none on /lib/init/rw ketik tmpfs (rw,nosuid ,mode=0755)
none pada /var/lib/ureadahead/debugfs ketik debugfs (rw,relatime)
/dev/sda1 pada /boot ketik ext2 (rw)
/dev/etherd /e0.1p1 pada /mnt ketik ext4 (rw)
[email protected]:~#... dan
df -h[email protected]:~# df -h
Filesystem Size Used Avail Use% Dipasang di
/dev/mapper/server1-root
8 > Tidak ada 243m 180k 242m 1%/dev
Tidak ada 247m 0 247m 0%/dev/shm
Tidak ada 247m 32k 247m 1%/var/run
Tidak ada 247m 0 247m 0%/var/ kunci
Tidak ada 247m 0 247m 0%/lib/init/rw
Tidak ada 18g 838m 16g 5%/var/lib/ureadeAd/debugfs
/dev/sda1 228m 17m 199m 8%/boot
/dev/etherd/e0.1p1 20G 172M 19G 1% /mnt
[email protected]:~#Anda dapat melepasnya seperti ini:
umount /mntAgar perangkat dipasang secara otomatis saat boot, mis. di direktori /storage, kita buat direktori itu...
mkdir /storage... dan tambahkan baris berikut ke /etc/fstab:
vi /etc/fstab
[...]/dev/etherd/e0.1p1 /storage ext4 defaults,auto,_netdev 0 0 |
Ini saja tidak cukup untuk memasang perangkat pada saat boot karena hal-hal AoE dimuat setelah /etc/fstab dibaca. Oleh karena itu kami membuka /etc/rc.local...
vi /etc/rc.local
... dan tambahkan baris berikut ke dalamnya (sebelum baris exit 0):
[...]aoe-discoversleep 5mount -a[...] |
Untuk tujuan pengujian, Anda sekarang dapat mem-boot ulang sistem:
boot ulang
Setelah reboot, perangkat harus dipasang:
pasang
[email protected]:~# mount
/dev/mapper/server1-root on / ketik ext4 (rw,errors=remount-ro)
proc on /proc ketik proc (rw,noexec ,nosuid,nodev)
none on /sys ketik sysfs (rw,noexec,nosuid,nodev)
none on /sys/fs/fuse/connections ketik fusectl (rw)
none on / sys/kernel/jenis debug debugfs (rw)
none on /sys/kernel/security jenis securityfs (rw)
none on /dev ketik devtmpfs (rw,mode=0755)
none on /dev/pts ketik devpts (rw,noexec,nosuid,gid=5,mode=0620)
none on /dev/shm ketik tmpfs (rw,nosuid,nodev)
none on /var/run ketik tmpfs (rw,nosuid,mode=0755)
none on /var/lock ketik tmpfs (rw,noexec,nosuid,nodev)
none on /lib/init/rw ketik tmpfs (rw,nosuid ,mode=0755)
none pada /var/lib/ureadahead/debugfs ketik debugfs (rw,relatime)
/dev/sda1 pada /boot ketik ext2 (rw)
/dev/etherd /e0.1p1 pada /storage type ext4 (rw,_netdev)
[email protected]:~#
df -h
[email protected]:~# df -h
Filesystem Size Used Avail Use% Dipasang di
/dev/mapper/server1-root
8 > Tidak ada 243m 180k 242m 1%/dev
Tidak ada 247m 0 247m 0%/dev/shm
Tidak ada 247m 32k 247m 1%/var/run
Tidak ada 247m 0 247m 0%/var/ kunci
Tidak ada 247m 0 247m 0%/lib/init/rw
Tidak ada 18g 838m 16g 5%/var/lib/ureadeAd/debugfs
/dev/sda1 228m 17m 199m 8%/boot
/dev/etherd/e0.1p1 20G 172M 19G 1% /storage
[email protected]:~#
5 Tautan
- Definisi Protokol AoE:http://www.coraid.com/RESOURCES/AoE-Protocol-Definition
- Ubuntu:http://www.ubuntu.com/