GNU/Linux >> Belajar Linux >  >> Cent OS

Menggunakan ATA Over Ethernet (AoE) pada CentOS 7 (Inisiator dan Target)

Panduan ini menjelaskan bagaimana Anda dapat mengatur target AoE dan inisiator AoE (klien), keduanya menjalankan CentOS 7. AoE adalah singkatan dari "ATA over Ethernet" dan merupakan protokol jaringan area penyimpanan (SAN) yang memungkinkan inisiator 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.

1 Catatan Awal

Saya menggunakan dua server CentOS 7 di sini:

  • server1.example.com (Inisiator):Alamat IP 192.168.1.100
  • server2.example.com (Target):Alamat IP 192.168.1.101

2 Aktifkan Repositori Tambahan

server1/server2:

Pertama, kami mengimpor kunci GPG untuk paket perangkat lunak:

rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY*

Kemudian kami mengaktifkan repositori EPEL pada sistem CentOS kami karena banyak paket yang akan kami instal selama tutorial ini tidak tersedia di repositori resmi CentOS 7:

yum -y install epel-release
yum -y install yum-priorities

Edit /etc/yum.repos.d/epel.repo...

nano /etc/yum.repos.d/epel.repo

... dan tambahkan baris priority=10 ke bagian [epel]:

[epel]
name=Extra Packages for Enterprise Linux 7 - $basearch
#baseurl=http://download.fedoraproject.org/pub/epel/7/$basearch
mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=epel-7&arch=$basearch
failovermethod=priority
enabled=1
priority=10
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7
[...]

Kemudian kami memperbarui paket kami yang ada di sistem:

yum -y update

3 Memuat Modul Kernel AoE di 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
[[email protected] ~]# lsmod | grep aoe
aoe 54175 0
[[email protected] ~]#

Agar modul dimuat secara otomatis saat sistem melakukan boot, tambahkan baris berikut ke /etc/rc.local:

nano /etc/rc.local
[...]
modprobe aoe
[...]

4 Menyiapkan Server (Target) di Server 2

server2:

Pertama, kita siapkan target (server2):

rpm -i http://download.opensuse.org/repositories/home:/cyberorg:/ltsp/CentOS_7/x86_64/vblade-22-3.1.x86_64.rpm

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 menggunakan file gambar 10GB yang terletak di folder penyimpanan /storage.

mkdir /storage
dd if=/dev/zero of=/storage/storage1.img bs=1024k count=10000

Ini akan membuat file gambar /storage/storage1.img dengan ukuran 10GB.

Jika Anda ingin menggunakan volume logis, Anda dapat membuatnya dengan ukuran 10 GB bernama storage1 di grup volume vg0 seperti ini:

lvcreate -L10G -n storage1 vg0

Sekarang kami mengekspor perangkat penyimpanan kami sebagai berikut:

vbladed 0 1 ens33 /storage/storage1.img

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 ens33 memberi tahu vbladed perangkat ethernet mana yang akan digunakan, Anda dapat mengetahui detail tentang perangkat ethernet Anda dengan menjalankan

ifconfig

).

Untuk memulai ekspor secara otomatis setiap kali Anda mem-boot target, buka /etc/rc.local...

nano /etc/rc.local

... dan tambahkan baris berikut ke dalamnya (setelah baris modprobe aoe!):

[...]
vbladed 0 1 ens33 /storage/storage1.img
[...]

5 Menyiapkan Klien (Inisiator) di Server 1

server1:

Di server1, kami menginstal inisiator. Tidak ada paket untuk CentOS 7 yang tersedia, tetapi paket dari centOS 6 berfungsi dengan baik, jadi kami akan menggunakannya di sini.

rpm -i http://download.opensuse.org/repositories/system:/aoetools/CentOS_CentOS-6/x86_64/aoetools-36-1.2.x86_64.rpm

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 10.485GB ens33 1024 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 Jun 30 14:49 .
drwxr-xr-x. 21 root root 3240 Jun 30 14:32 ..
c-w--w----. 1 root disk 152, 3 Jun 30 14:32 discover
brw-rw----. 1 root disk 152, 0 Jun 30 14:49 e0.1
cr--r-----. 1 root disk 152, 2 Jun 30 14:32 err
c-w--w----. 1 root disk 152, 6 Jun 30 14:32 flush
c-w--w----. 1 root disk 152, 4 Jun 30 14:32 interfaces
c-w--w----. 1 root disk 152, 5 Jun 30 14:32 revalidate
[[email protected] ~]#

Untuk menggunakan perangkat itu, kita harus memformatnya:

fdisk /dev/etherd/e0.1
[[email protected] ~]# fdisk /dev/etherd/e0.1
Device contains neither a valid DOS partition table, nor Sun, SGI or OSF disklabel
Building a new DOS disklabel with disk identifier 0xed572fd4.
Changes will remain in memory only, until you decide to write them.
After that, of course, the previous content won't be recoverable.


The number of cylinders for this disk is set to 2610.
There is nothing wrong with that, but this is larger than 1024,
and could in certain setups cause problems with:
1) software that runs at boot time (e.g., old versions of LILO)
2) booting and partitioning software from other OSs
   (e.g., DOS FDISK, OS/2 FDISK)
Warning: invalid flag 0x0000 of partition table 4 will be corrected by w(rite)

Command (m for help): <-- n
Command action
   e   extended
   p   primary partition (1-4)
<-- p
Partition number (1-4): <-- 1
First sector (2048-20479999, default 2048): <-- ENTER
Using default value 1
Last sector, +sectors or +size{K,M,G} (2048-20479999, default 20479999): <-- ENTER
Using default value 20479999
Partition 1 of type Linux and of size 9.8 GiB is set

Command (m for help): <-- t
Selected partition 1
Hex code (type L to list codes): <-- L

 0  Empty           1e  Hidden W95 FAT1 80  Old Minix       bf  Solaris
 1  FAT12           24  NEC DOS         81  Minix / old Lin c1  DRDOS/sec (FAT-
 2  XENIX root      39  Plan 9          82  Linux swap / So c4  DRDOS/sec (FAT-
 3  XENIX usr       3c  PartitionMagic  83  Linux           c6  DRDOS/sec (FAT-
 4  FAT16 <32M      40  Venix 80286     84  OS/2 hidden C:  c7  Syrinx
 5  Extended        41  PPC PReP Boot   85  Linux extended  da  Non-FS data
 6  FAT16           42  SFS             86  NTFS volume set db  CP/M / CTOS / .
 7  HPFS/NTFS       4d  QNX4.x          87  NTFS volume set de  Dell Utility
 8  AIX             4e  QNX4.x 2nd part 88  Linux plaintext df  BootIt
 9  AIX bootable    4f  QNX4.x 3rd part 8e  Linux LVM       e1  DOS access
 a  OS/2 Boot Manag 50  OnTrack DM      93  Amoeba          e3  DOS R/O
 b  W95 FAT32       51  OnTrack DM6 Aux 94  Amoeba BBT      e4  SpeedStor
 c  W95 FAT32 (LBA) 52  CP/M            9f  BSD/OS          eb  BeOS fs
 e  W95 FAT16 (LBA) 53  OnTrack DM6 Aux a0  IBM Thinkpad hi ee  GPT
 f  W95 Ext'd (LBA) 54  OnTrackDM6      a5  FreeBSD         ef  EFI (FAT-12/16/
10  OPUS            55  EZ-Drive        a6  OpenBSD         f0  Linux/PA-RISC b
11  Hidden FAT12    56  Golden Bow      a7  NeXTSTEP        f1  SpeedStor
12  Compaq diagnost 5c  Priam Edisk     a8  Darwin UFS      f4  SpeedStor
14  Hidden FAT16 <3 61  SpeedStor       a9  NetBSD          f2  DOS secondary
16  Hidden FAT16    63  GNU HURD or Sys ab  Darwin boot     fb  VMware VMFS
17  Hidden HPFS/NTF 64  Novell Netware  b7  BSDI fs         fc  VMware VMKCORE
18  AST SmartSleep  65  Novell Netware  b8  BSDI swap       fd  Linux raid auto
1b  Hidden W95 FAT3 70  DiskSecure Mult bb  Boot Wizard hid fe  LANstep
1c  Hidden W95 FAT3 75  PC/IX           be  Solaris boot    ff  BBT
Hex code (type L to list codes): <-- 83

Command (m for help): <-- w
The partition table has been altered!

Calling ioctl() to re-read partition table.
Syncing disks.
[[email protected] ~]#

Setelah itu, ada perangkat baru /dev/etherd/e0.1p1 yang dapat Anda lihat di output

ls -l /dev/etherd/
[[email protected] ~]# ls -l /dev/etherd/
total 0
c-w--w----. 1 root disk 152, 3 Jun 30 14:32 discover
brw-rw----. 1 root disk 152, 0 Jun 30 14:54 e0.1
brw-rw----. 1 root disk 152, 1 Jun 30 14:54 e0.1p1
cr--r-----. 1 root disk 152, 2 Jun 30 14:32 err
c-w--w----. 1 root disk 152, 6 Jun 30 14:32 flush
c-w--w----. 1 root disk 152, 4 Jun 30 14:32 interfaces
c-w--w----. 1 root disk 152, 5 Jun 30 14:32 revalidate
[[email protected] ~]#

Sekarang 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 /mnt

Anda sekarang akan melihat perangkat baru di output...

mount
[[email protected] ~]# mount
sysfs on /sys type sysfs (rw,nosuid,nodev,noexec,relatime,seclabel)
proc on /proc type proc (rw,nosuid,nodev,noexec,relatime)
devtmpfs on /dev type devtmpfs (rw,nosuid,seclabel,size=930336k,nr_inodes=232584,mode=755)
securityfs on /sys/kernel/security type securityfs (rw,nosuid,nodev,noexec,relatime)
tmpfs on /dev/shm type tmpfs (rw,nosuid,nodev,seclabel)
devpts on /dev/pts type devpts (rw,nosuid,noexec,relatime,seclabel,gid=5,mode=620,ptmxmode=000)
tmpfs on /run type tmpfs (rw,nosuid,nodev,seclabel,mode=755)
tmpfs on /sys/fs/cgroup type tmpfs (ro,nosuid,nodev,noexec,seclabel,mode=755)
cgroup on /sys/fs/cgroup/systemd type cgroup (rw,nosuid,nodev,noexec,relatime,xattr,release_agent=/usr/lib/systemd/systemd-cgroups-agent,name=systemd)
pstore on /sys/fs/pstore type pstore (rw,nosuid,nodev,noexec,relatime)
cgroup on /sys/fs/cgroup/cpu,cpuacct type cgroup (rw,nosuid,nodev,noexec,relatime,cpuacct,cpu)
cgroup on /sys/fs/cgroup/memory type cgroup (rw,nosuid,nodev,noexec,relatime,memory)
cgroup on /sys/fs/cgroup/devices type cgroup (rw,nosuid,nodev,noexec,relatime,devices)
cgroup on /sys/fs/cgroup/hugetlb type cgroup (rw,nosuid,nodev,noexec,relatime,hugetlb)
cgroup on /sys/fs/cgroup/net_cls type cgroup (rw,nosuid,nodev,noexec,relatime,net_cls)
cgroup on /sys/fs/cgroup/freezer type cgroup (rw,nosuid,nodev,noexec,relatime,freezer)
cgroup on /sys/fs/cgroup/perf_event type cgroup (rw,nosuid,nodev,noexec,relatime,perf_event)
cgroup on /sys/fs/cgroup/blkio type cgroup (rw,nosuid,nodev,noexec,relatime,blkio)
cgroup on /sys/fs/cgroup/cpuset type cgroup (rw,nosuid,nodev,noexec,relatime,cpuset)
configfs on /sys/kernel/config type configfs (rw,relatime)
/dev/mapper/centos-root on / type xfs (rw,relatime,seclabel,attr2,inode64,noquota)
selinuxfs on /sys/fs/selinux type selinuxfs (rw,relatime)
systemd-1 on /proc/sys/fs/binfmt_misc type autofs (rw,relatime,fd=30,pgrp=1,timeout=300,minproto=5,maxproto=5,direct)
debugfs on /sys/kernel/debug type debugfs (rw,relatime)
mqueue on /dev/mqueue type mqueue (rw,relatime,seclabel)
hugetlbfs on /dev/hugepages type hugetlbfs (rw,relatime,seclabel)
/dev/sda1 on /boot type xfs (rw,relatime,seclabel,attr2,inode64,noquota)
tmpfs on /run/user/0 type tmpfs (rw,nosuid,nodev,relatime,seclabel,size=188060k,mode=700)
/dev/etherd/e0.1p1 on /mnt type ext4 (rw,relatime,seclabel,data=ordered)
[[email protected] ~]#

... dan

df -h
[[email protected] ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/centos-root 28G 1.3G 27G 5% /
devtmpfs 909M 0 909M 0% /dev
tmpfs 919M 0 919M 0% /dev/shm
tmpfs 919M 8.6M 910M 1% /run
tmpfs 919M 0 919M 0% /sys/fs/cgroup
/dev/sda1 497M 192M 306M 39% /boot
tmpfs 184M 0 184M 0% /run/user/0
/dev/etherd/e0.1p1 9.5G 37M 9.0G 1% /mnt
[[email protected] ~]#

Anda dapat melepasnya seperti ini:

umount /mnt

Agar perangkat dipasang secara otomatis saat boot, mis. di direktori /storage, kita buat direktori itu...

mkdir /storage

... dan tambahkan baris berikut ke /etc/fstab:

nano /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...

nano /etc/rc.local

... dan tambahkan baris berikut ke dalamnya (setelah baris modprobe aoe!):

[...]
aoe-discover
sleep 5
mount -a
[...]

Untuk tujuan pengujian, Anda sekarang dapat mem-boot ulang sistem:

reboot

Setelah reboot, perangkat harus dipasang:

mount
[[email protected] ~]# mount
sysfs on /sys type sysfs (rw,nosuid,nodev,noexec,relatime,seclabel)
proc on /proc type proc (rw,nosuid,nodev,noexec,relatime)
devtmpfs on /dev type devtmpfs (rw,nosuid,seclabel,size=930336k,nr_inodes=232584,mode=755)
securityfs on /sys/kernel/security type securityfs (rw,nosuid,nodev,noexec,relatime)
tmpfs on /dev/shm type tmpfs (rw,nosuid,nodev,seclabel)
devpts on /dev/pts type devpts (rw,nosuid,noexec,relatime,seclabel,gid=5,mode=620,ptmxmode=000)
tmpfs on /run type tmpfs (rw,nosuid,nodev,seclabel,mode=755)
tmpfs on /sys/fs/cgroup type tmpfs (ro,nosuid,nodev,noexec,seclabel,mode=755)
cgroup on /sys/fs/cgroup/systemd type cgroup (rw,nosuid,nodev,noexec,relatime,xattr,release_agent=/usr/lib/systemd/systemd-cgroups-agent,name=systemd)
pstore on /sys/fs/pstore type pstore (rw,nosuid,nodev,noexec,relatime)
cgroup on /sys/fs/cgroup/cpu,cpuacct type cgroup (rw,nosuid,nodev,noexec,relatime,cpuacct,cpu)
cgroup on /sys/fs/cgroup/memory type cgroup (rw,nosuid,nodev,noexec,relatime,memory)
cgroup on /sys/fs/cgroup/devices type cgroup (rw,nosuid,nodev,noexec,relatime,devices)
cgroup on /sys/fs/cgroup/hugetlb type cgroup (rw,nosuid,nodev,noexec,relatime,hugetlb)
cgroup on /sys/fs/cgroup/net_cls type cgroup (rw,nosuid,nodev,noexec,relatime,net_cls)
cgroup on /sys/fs/cgroup/freezer type cgroup (rw,nosuid,nodev,noexec,relatime,freezer)
cgroup on /sys/fs/cgroup/perf_event type cgroup (rw,nosuid,nodev,noexec,relatime,perf_event)
cgroup on /sys/fs/cgroup/blkio type cgroup (rw,nosuid,nodev,noexec,relatime,blkio)
cgroup on /sys/fs/cgroup/cpuset type cgroup (rw,nosuid,nodev,noexec,relatime,cpuset)
configfs on /sys/kernel/config type configfs (rw,relatime)
/dev/mapper/centos-root on / type xfs (rw,relatime,seclabel,attr2,inode64,noquota)
selinuxfs on /sys/fs/selinux type selinuxfs (rw,relatime)
systemd-1 on /proc/sys/fs/binfmt_misc type autofs (rw,relatime,fd=30,pgrp=1,timeout=300,minproto=5,maxproto=5,direct)
debugfs on /sys/kernel/debug type debugfs (rw,relatime)
mqueue on /dev/mqueue type mqueue (rw,relatime,seclabel)
hugetlbfs on /dev/hugepages type hugetlbfs (rw,relatime,seclabel)
/dev/sda1 on /boot type xfs (rw,relatime,seclabel,attr2,inode64,noquota)
tmpfs on /run/user/0 type tmpfs (rw,nosuid,nodev,relatime,seclabel,size=188060k,mode=700)
/dev/etherd/e0.1p1 on /mnt type ext4 (rw,relatime,seclabel,data=ordered)
[[email protected] ~]#
df -h
[[email protected] ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/centos-root 28G 1.3G 27G 5% /
devtmpfs 909M 0 909M 0% /dev
tmpfs 919M 0 919M 0% /dev/shm
tmpfs 919M 8.6M 910M 1% /run
tmpfs 919M 0 919M 0% /sys/fs/cgroup
/dev/sda1 497M 192M 306M 39% /boot
tmpfs 184M 0 184M 0% /run/user/0
/dev/etherd/e0.1p1 9.5G 37M 9.0G 1% /mnt
[[email protected] ~]#

  • Definisi Protokol AoE:http://www.coraid.com/RESOURCES/AoE-Protocol-Definition
  • CentOS:http://www.centos.org/

Cent OS
  1. Setup ATA over Ethernet (AoE) pada Debian 8 (Inisiator dan Target)

  2. Konfigurasikan Target &Inisiator iSCSI di CentOS 7 / RHEL7

  3. Menggunakan Kemungkinan untuk Menginstal dan Menginisialisasi Mysql 8 di Rocky Linux/Centos 8

  1. Menggunakan ATA Over Ethernet (AoE) Di Ubuntu 12.10 (Inisiator Dan Target)

  2. Menggunakan ATA Over Ethernet (AoE) Pada Debian Squeeze (Inisiator Dan Target)

  3. Cara Mengonfigurasi Teaming Antarmuka Jaringan di CentOS/RHEL 7 dan 8

  1. Menggunakan ATA Over Ethernet (AoE) Pada CentOS 6.3 (Inisiator Dan Target)

  2. Centos 4.8 Dan Glibc 2.5?

  3. Menginstal dan Menggunakan Docker di CentOS dan Fedora