Доброе время суток, возникла проблема которую не смог решить сам поэтому прошу вашей помощи.Необходимо добиться максимальной скорости передачи данных между 2 серверами.
При удачных тестах все введется в эксплуатацию на боевых серверах с приличным объемом РАМ----
Что имеем:
2 одинаковых сервера (тестовая лаборатория):
P4 x64
сетевая карта 1 - 1 Гбит
сетевая карта 2 - 4-х портовая 1Гбит
4GB Ram
eth0 - интерфейс 1 картыbond0 - бондинг с задействоваными интерфейсами eth1 eth2 eth3 eth4
Cisco Catalyst 3560G
----Что сделано
1. Созданы виртуальные РАМдиски на каждом сервере ( mount -t tmpfs -o size=3000M tmpfs /mnt/RAMDrive/ )
2. Вроде как настроен Nic Bonding (Nic Teaming) На обоих серверах, IP 10.10.250.3 и 10.10.250.2auto bond0
iface bond0 inet static
address 10.10.250.3
netmask 255.255.255.0
network 10.10.250.0
bond_mode balance-rr
bond_miimon 100
bond_downdelay 200
bond_updelay 200
slaves eth1 eth2 eth3 eth43. Поднят iSCSI-Target & iSCSI Initiator (/nmt/iSCSI)
конфиг iSCSI-target
mount -t tmpfs -o size=3000M tmpfs /mnt/tmpfs/
dd if=/dev/zero of=/mnt/tmpfs/image.img bs=1024k count=2000
Target test.802:test-debian.lun0
IncomingUser
OutgoingUser
Lun 0 Path=/mnt/tmpfs/image.img,Type=fileio
Alias LUN0
# MaxConnections 1
# ImmediateData Yes # Data can accompany command
# MaxRecvDataSegmentLength 8192 # Max data per PDU to receive
# FirstBurstLength 65536 # Max unsolicited data sequence
Далее мои результаты:
Создаем файлик 1.1 гиг dd if=/dev/zero of=/mnt/iscsi/image.img bs=1024k count=1024И результаты скорости:
iSCSI - > RAMDrive 298MB/sec
RAMDrive - > iSCSI 177MB/secКак увеличить скорость?
Скорость копирования
У Вас стоит balance-rr - Round-robin выбор интерфейса что не даст Вам максимум производительностиoptions bond0 mode=2, где mode=
0 - balance-rr (Round-robin выбор интерфейса)
1 - active-backup (работает только один интерфейс, остальные в режиме горячей замены)
2 - balance-xor - для всех пересылок на MAC закрепляется один из интерфейсов
3 - broadcast - трафик идет через оба интерфейса одновременно
4 - 802.3ad - для коммутаторов с поддержкой IEEE 802.3ad Dynamic link aggregation
5 - balance-tlb, 6 - balance-albhttp://www.opennet.me/tips/info/759.shtml
ЗЫ Сам бондиг не делал, только в теории рассматривал.
>[оверквотинг удален]
> 2 - balance-xor -
> для всех пересылок на MAC закрепляется один из интерфейсов
> 3 - broadcast -
> трафик идет через оба интерфейса одновременно
> 4 - 802.3ad -
> для коммутаторов с поддержкой IEEE 802.3ad Dynamic link aggregation
> 5 - balance-tlb, 6
> - balance-alb
> http://www.opennet.me/tips/info/759.shtml
> ЗЫ Сам бондиг не делал, только в теории рассматривал.Я пробовал уже все режимы. в данном варианте получилась наибольшая скорость в обе стороны.
В тории должно быть 500Mb/s в одну сторону. в обе (одновременно) 250 должно быть, но вот почему при записи и чтении разница. А к примеру iotop что говорит iptraf какую общую скорость показывает.
> В тории должно быть 500Mb/s в одну сторону. в обе (одновременно) 250
> должно быть, но вот почему при записи и чтении разница. А
> к примеру iotop что говорит iptraf какую общую скорость показывает.а винты то у вас такую скорость осилят? или вы думаете они за счет святого духа, до такой скорости разгонятся?
RAMDrive - думаю дадут дольше.
я так полагаю что человек делает тесты в "тепличных условиях" когда скорость винтов гораздо выше скорости сети.А что сказал dd когда был сделан файл - "Создаем файлик 1.1 гиг dd if=/dev/zero of=/mnt/iscsi/image.img bs=1024k count=1024"
> RAMDrive - думаю дадут дольше.
> я так полагаю что человек делает тесты в "тепличных условиях" когда скорость
> винтов гораздо выше скорости сети.
> А что сказал dd когда был сделан файл - "Создаем файлик 1.1
> гиг dd if=/dev/zero of=/mnt/iscsi/image.img bs=1024k count=1024"Да тесты проводятся в "тепличных условиях" для дальнейшего применения на боевых серверах фирмы.
Так же на боевых машинках используется infinyband и корзинки =)Результаты:
~# dd if=/dev/zero of=/mnt/iscsi/image.img bs=1024k count=1024
1024+0 records in
1024+0 records out
1073741824 bytes (1.1 GB) copied, 9.35884 s, 115 MB/s
iotop 80-260Mb/Seciptraf показывает 0..... новерно он не понял bonding...
Скорость работы с файлами (замерена через mc):
Копирование:
iSCSI -> RAMDrive 185-310M/Sec
RAMDrive -> iSCSI 135-185M/SecПерезапись файла:
iSCSi -> RAMDrive 180-320M/Sec
RAMDrive -> iSCSI 150-175M/Sec
Поставил режим balance-tlb и попробовал посоздавать файлы разных размеров вот что вышло...# dd if=/dev/zero of=/mnt/iscsi/image.img bs=1024k count=200 && dd if=/dev/zero of=/mnt/iscsi/image.img bs=1024k count=400 && dd if=/dev/zero of=/mnt/iscsi/image.img bs=1024k count=600 && dd if=/dev/zero of=/mnt/iscsi/image.img bs=1024k count=750
200+0 records in
200+0 records out
209715200 bytes (210 MB) copied, 0.159145 s, 1.3 GB/s
400+0 records in
400+0 records out
419430400 bytes (419 MB) copied, 0.511152 s, 821 MB/s
600+0 records in
600+0 records out
629145600 bytes (629 MB) copied, 3.38926 s, 186 MB/s
750+0 records in
750+0 records out
786432000 bytes (786 MB) copied, 5.69244 s, 138 MB/s3# dd if=/dev/zero of=/mnt/iscsi/image.img bs=1024k count=800 && dd if=/dev/zero of=/mnt/iscsi/image.img bs=1024k count=1100
800+0 records in
800+0 records out
838860800 bytes (839 MB) copied, 6.24761 s, 134 MB/s
1100+0 records in
1100+0 records out
1153433600 bytes (1.2 GB) copied, 10.3507 s, 111 MB/s
Вот скорее всего здесь и упирается. Честно говоря маловата скорость для RAMDrive. Видимо в его сторону и копать.
Да нет, скорость РАМдрайва сама по себе нормальная.
Выше показано создание файла на РАМдиск по сети по iSCSI в bonding.Локально на любом сервере скорость работы РАМдиска нормальная, вот результаты
# dd if=/dev/zero of=/mnt/ramdrv/image.img bs=1024k count=1024
1024+0 records in
1024+0 records out
1073741824 bytes (1.1 GB) copied, 0.861937 s, 1.2 GB/s
А что будет если не iSCSI использовать а скажем nfs/FTP (проверить что на других протоколах будет)
> А что будет если не iSCSI использовать а скажем nfs/FTP (проверить что
> на других протоколах будет)~# dd if=/dev/zero of=/mnt/nfs/imeea.img bs=1024k count=1024
1024+0 records in
1024+0 records out
1073741824 bytes (1.1 GB) copied, 9.28765 s, 116 MB/sФТП тоже самое....
а вы на циске port-channel-ы настроили-то ? в каком режиме ?
попробуйте в режиме 802.3ad в режиме load-balance src-dst-port на циске + 4 режим бондинга на линуксе.про iperf и скорость - неоднократно обсуждалось.
> а вы на циске port-channel-ы настроили-то ? в каком режиме ?
> попробуйте в режиме 802.3ad в режиме load-balance src-dst-port на циске + 4
> режим бондинга на линуксе.
> про iperf и скорость - неоднократно обсуждалось.Мы нашли другой вариант который нас устроил больше. Заюзали InfiniBand по протоколу SRP =)