THG
  • Аудио и видео
  • Бизнес и рынок
  • Видеокарты
  • Домашний компьютер
  • Игры и индустрия
  • Конкурсы
  • Накопители
  • Образование
  • Периферия
  • Платформы
  • Проекторы и мониторы
  • Процессоры
  • Сети и WiFi
  • Смартфоны и ноутбуки
  • Собери сам
  • Софт и утилиты
  • Фото
  • Обзоры
    • Смартфоны и ноутбуки
    • Аудио и видео
    • Проекторы и мониторы
    • Процессоры
    • Бизнес и рынок
    • Видеокарты
    • Домашний компьютер
    • Игры и индустрия
    • Конкурсы
    • Накопители
    • Периферия
    • Платформы
    • Техника для дома и сада
    • Сети и WiFi
    • Собери сам
    • Софт и утилиты
    • Фото
  • Статьи
  • Подборки
  • Новости
  • Форум
  • Контакты
  • Главная
THG
THG
  • Обзоры
    • Смартфоны и ноутбуки
    • Аудио и видео
    • Проекторы и мониторы
    • Процессоры
    • Бизнес и рынок
    • Видеокарты
    • Домашний компьютер
    • Игры и индустрия
    • Конкурсы
    • Накопители
    • Периферия
    • Платформы
    • Техника для дома и сада
    • Сети и WiFi
    • Собери сам
    • Софт и утилиты
    • Фото
  • Статьи
  • Подборки
  • Новости
  • Форум
  • Контакты
  • Главная
  • Сети и WiFi

Превращаем Microsoft Xbox в файловый сервер NAS: часть 3 — THG.RU

  • 02.03.2006
c178fb6c7f7a7f02e8e89b359aeaf165
c178fb6c7f7a7f02e8e89b359aeaf165








Введение

В первой части нашего материала мы рассказали о том, какие нужно внести изменения в аппаратную часть Xbox, чтобы подготовить её к новой жизни в роли полноценного сетевого хранилища NAS и файлового сервера. Во второй части мы показали, как установить web-сервер LAMP и клиента TorrentFlux. В заключительной части мы добавим к получившемуся решению такие возможности, как распределение полосы пропускания между BitTorrent и другими интернет-службами, а также оценим скорость работы получившегося решения.

Предупреждение. Действия, изложенные в третьей части, не являются обязательными. Помните, что если вы что-то испортите, то придётся снова подключать DVD-привод и устанавливать Linux! Конечно, если вы будете следовать нашим инструкциям, то проблем будет меньше. С другой стороны, если всё пройдёт чересчур гладко, то особого удовольствия от работы вы не получите!

При активном использовании клиента BitTorrent, когда на систему одновременно закачивается несколько файлов, скорость работы других приложений наверняка снизится. Это связано с тем, что BitTorrent активно использует всю доступную полосу канала. К сожалению, из-за этого может существенно замедляться работа web или SSH, когда пакеты этих протоколов выстраиваются в очередь вместе с сотнями пакетов BitTorrent.

Замедление касается, в основном, исходящего трафика, поскольку большинство домашних подключений имеют разные скорости для входящего и исходящего трафика, причём скорость исходящего обычно бывает ощутимо ниже скорости входящего (например, 256 кбит/с — входящий и 128 кбит/с — исходящий или 2048 кбит/с — входящий и 256 кбит/с — исходящий). Для борьбы со снижением скорости нам нужно лишь перенести очередь исходящего трафика BitTorrent с ADSL-модема на Xbox и задать приоритеты трафика, исходящего от Xbox, так, чтобы BitTorrent имел наименьший приоритет. К счастью, Linux позволит нам всё это сделать!

Подробности можно прочитать здесь и здесь (последний документ создан именно для дистрибутива Gentoo, хотя дистрибутивы Linux отличаются не сильно). Кроме практической части, в этих материалах вы сможете познакомиться и с теорией. Все документы предполагают, что система на базе Linux является и маршрутизатором, и шлюзом. В нашем случае это не так, и конфигурация окажется более простой.

Обновление ядра

Во-первых, нам нужно обновить ядро системы до версии 2.6. Поскольку ядро является «сердцем» Linux, работа всей системы зависит от него, как игра оркестра зависит от дирижёра. Здесь можно прочитать достаточно подробное описание обновления ядра до версии 2.6 в Xebian. Рекомендуем познакомиться с материалом, поскольку при обновлении ядра мы будем руководствоваться именно им.

Во-первых, нам нужен исходный код ядра. Для этого заходим на сайт http://www.kernel.org и выбираем там последнюю стабильную версию (STABLE). И скачиваем её. Делается это примерно следующим образом.

cd /usr/src
wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.14.3.tar.bz2

tar xfvj linux-2.6.14.3.tar.bz2
ln -s linux-2.6.14.3 linux

В последней строке указана команда создания ссылки (symbolic link) — нечто подобное ярлыку Windows — на каталог, чтобы в дальнейшем не набирать полный путь к нему.

Далее нам нужно найти файл, который подредактирует часть исходного кода для работы на Xbox. Для этого заходим на домашнюю страницу XBOX-Linux и скачиваем патч, который соответствует версии исходного кода скачанного ядра. Например.

wget http://kent.dl.sourceforge.net/sourceforge/xbox-linux/linux-2.6.14-xbox.patch.gz

tar xfvz linux-2.6.14-xbox.patch.gz
cp linux-2.6.14-xbox.patch linux/

Напоминаем, что команда wget вводится одной строкой.

Патч позволяет изменить исходный код ядра на специфичный, предназначенный для Xbox.

cd linux
patch -p1 < linux-2.6.14-xbox.patch

Ошибок при выполнении указанных действий быть не должно. Патч Xbox создаёт конфигурационный файл, который нам нужно переименовать

cp kernel.config .config

Теперь нужно выбрать опции для тех частей ядра, которые мы хотим скомпилировать.

make oldconfig

Добавление контроля трафика и приоритезации пакетов (shaping)

Зададим дополнительные параметры, которые будем использовать в дальнейшем для управления трафиком.

make menuconfig

Появится текстовое меню. Нужно выбрать следующие опции.

Добавление контроля трафика и приоритезации пакетов (shaping)

Теперь можно компилировать новое ядро. На это потребуется около одного часа, так что обзаведитесь терпением.

make clean
make
make modules
make modules_install

Убедитесь, что всё прошло без ошибок на всех этапах. Конечно, могут возникнуть предупреждения. Мы их просто игнорировали, в результате никаких проблем не заметили. При удачном завершении компиляции, должен появиться файл bzImage dв каталоге /usr/src/linux/arch/i386/boot.

Этот файл является скомпилированным ядром. Проверим, работает ли он. Cromwell BIOS использует текстовый файл для того, чтобы определить, откуда загружаться. Для его редактирования запустимvi.

vi /boot/linuxboot.cfg

Файл должен содержать следующее.

title v2_4
kernel /boot/vmlinuz
append root=/dev/ide/host0/bus0/target0/lun0/part2 devfs=mount kbd-reset xbox=hdd
xboxfb y

Измените файл следующим образом.

title v2_6
kernel /usr/src/linux/arch/i386/boot/bzImage
append root=/dev/hda2 devfs=mount kbd-reset xbox=hdd
xboxfb y

title v2_4
kernel /boot/vmlinuz-2.4.31-xbox
append root=/dev/ide/host0/bus0/target0/lun0/part2 devfs=mount kbd-reset xbox=hdd
xboxfb y

default v2_6

Сохраняем файл и перезагружаем Xbox (команда «reboot»). Если Xbox не подключена к телевизору, то сообщений об ошибках и предупреждений вы не увидите. При успешной загрузке, примерно через 1-2 минуты, можно подключаться к приставке через SSH, в приветственном сообщении можно увидеть версию ядра.

Если система не работает, то подключите её к телевизору, перезагрузите и следите за сообщениями об ошибках. Для загрузки с использованием старого ядра версии 2.4 нужно воспользоваться клавиатурой с разъёмом USB: выберите соответствующий пункт в меню загрузки Cromwell BIOS, то есть старое ядро, которое у нас называется v2_4.

Если же обновление прошло успешно, нужно сделать изменения постоянными.

cd /usr/src/linux/
make install

Когда будет предложено создать загрузочный диск, следует отказаться. Файл образа ядра скопируется в каталог /boot/, после чего обновится ссылка vmlinuz, указывающая на ядро. Теперь можно изменить файл linuxboot.config до следующего вида.

title v2_6
kernel /usr/src/vmlinuz
append root=/dev/hda2 devfs=mount kbd-reset xbox=hdd
xboxfb y

title v2_4
kernel /boot/vmlinuz-2.4.31-xbox
append root=/dev/ide/host0/bus0/target0/lun0/part2 devfs=mount kbd-reset xbox=hdd
xboxfb y

default v2_6

Кстати, мы обнаружили, что после обновления ядра некоторые модули перестали загружаться. Почему такое произошло, мы не знаем, но в списке компиляции они были! Одна из проблем заключалась в том, что названия модулей клавиатуры и мыши в версиях 2.4 и 2.6 различаются. В версии 2.4 они называются mousedev и keybdev, а в 2.6 — usbmouse и usbkeyb.

Для исправления нужно отредактировать имена в файле /etc/modules.xbox. Честно говоря, ни один из этих модулей нам не требуется, поскольку приставка работает без клавиатуры и мыши, но подключить их всё же не мешает. Другие модули, на загрузку которых жаловалось ядро, нам не нужны, поэтому мы их закомментировали.

loop
#input
usbkbd
#usbmouse
#joydev
sunrpc
lockd
nfs
#scsi_mod
#sd_mod
#hid
#xpad
#xir
#lirc_dev
#lirc_xir
#snd-intel8x0

Приоритезация трафика (shaping)

Сейчас мы можем создать скрипт, который будет устанавливать приоритеты трафика. Не будем углубляться в теорию, вся она прекрасно изложена в отдельном материале, о котором мы упоминали ранее (правда, на английском языке).

Возможно, вы захотите поэкспериментировать с параметрами. Мы создадим три скрипта. Первый — для iptables, который будет маркировать пакеты на основании исходящего порта (source port), второй — для контроля трафика (tc), он будет задавать приоритеты для пакетов по маркировке, а третий будет служить для сброса настроек.

Сохраним копию текущего файла iptables.

cd /home/myname
mkdir shaping
cd shaping
iptables-save > blank_iptables

Создадим текстовый файл.

vi marking_packets.sh

В нашем случае он выглядел следующим образом.

MARKPRIO1=»1″

# Setting priority marks

iptables -t mangle -A OUTPUT -p tcp —sport 22 -j MARK —set-mark $MARKPRIO1
iptables -t mangle -A OUTPUT -p tcp —sport 80 -j MARK —set-mark $MARKPRIO1
iptables -t mangle -A OUTPUT -p tcp —sport 139 -j MARK —set-mark $MARKPRIO1
iptables -t mangle -A OUTPUT -p tcp —sport 138 -j MARK —set-mark $MARKPRIO1
iptables -t mangle -A OUTPUT -p tcp —sport 137 -j MARK —set-mark $MARKPRIO1

Как видим, мы задали максимальный приоритет для трафика SSH, HTTP и Samba. Остального мы не затронули. Сохраняем файл и делаем его исполняемым при помощи следующей команды.

chmod +x marking_packets.sh

Создаём файл iptables_quotas.sh, который в нашем случае выглядел примерно следующим образом.

Приоритезация трафика (shaping)

Теперь делаем файл исполняемым, как показано выше. Если вам потребуется сбросить настройки iptables и tc, то можно воспользоваться следующим скриптом.

IFACE=eth0
tc qdisc del dev $IFACE root 2> /dev/null > /dev/null
tc class del dev $IFACE root 2> /dev/null > /dev/null
tc filter del dev $IFACE root 2> /dev/null > /dev/null
iptables-restore > blank_iptables

Теперь запускаем первые два скрипта.

./marking_packets.sh
./iptables_quotas.sh

Если всё прошло гладко, то ошибок и предупреждений появиться не должно. Проверить работоспособность приоритезации можно, снизив скорость в параметре LAN_RATE, например, до 10 кбит/с, после чего попытаться скопировать файл либо на Xbox, либо с Xbox, и посмотреть, насколько это будет медленно! Также можно поиграть со значениями P2PRATE и PRIORATE4, с учётом скорости вашего подключения. Мы тестировали на канале со скоростью исходящего потока 256 кбит/с и, как нам показалось, всё работало так, как полагается. Несмотря на то, что приоритезация распространяется только на входящий и исходящий трафик Xbox, сейчас клиент TorrentFlux будет вести себя не так прожорливо, поэтому интернет-соединение можно будет использовать и для другой деятельности.

Поздравляем! Сейчас у вас есть полноценное мощное сетевое устройство хранения данных NAS, которому могут позавидовать ваши знакомые! Вообще, проект достаточно универсален. То есть можно установить два ёмких 3,5″ жёстких диска вместо одного 2,5″. Возможно, создать программный RAID? Или подключить к приставке USB-модем и настроить маршрутизацию? Или что-то ещё? Выбор за вами!

Тесты производительности

До проекта Xbox мы использовали внешний жёсткий диск с интерфейсом USB 2, подключенный к медиа-центру на основе обычного ПК. На нём и хранились все общие файлы. Мы используем сеть Fast Ethernet на 100 Мбит/с, да и, к сожалению, возможности обновить Xbox до гигабита нет, иначе мы смогли бы создать просто выдающееся по характеристикам сетевое хранилище NAS.

В качестве быстрого теста мы копировали файл размером 150 Мбайт, результаты оказались следующими.

  • Компьютер «А», с внутреннего диска на второй внутренний диск = 11 секунд.
  • Компьютер «А»: с внешнего диска USB2 на внутренний = 13 секунд.
  • Сеть: Xbox NAS на внутренний диск компьютера «А» = 19 секунд.
  • Сеть: с внутреннего диска компьютера «B» на внутренний диск компьютера «A» = 19 секунд.

Конфигурация машин следующая.

  • Компьютер «A»: Athlon XP 3200+, 768 Мбайт ОЗУ, Media Center PC под управлением Windows MCE 2005.
  • Компьютер «B»: ноутбук на базе Athlon XP 1600+, 512 Мбайт ОЗУ, под управлением Windows XP Pro.

Как видно, скорость копирования с Xbox оказалась ниже, чем с внешнего диска USB 2, но примерно такой же, как скорость копирования по сети с другого компьютера под управлением Windows XP.

Мы также измерили скорость чтения и записи файловой системы, используя для этого iozone по следующей методике. Все тесты выполнялись на компьютере «А» с Media Center.

Примечание. Скорость чтения или записи данных на диск зависит от множества параметров системы, поэтому результаты теста могут отличаться от результатов, которые вы получите на своей системе. Вообще, теоретический максимум скорости передачи данных по 100-Мбит/с сети составляет около 12 Мбайт/с, то есть значения более 12 Мбайт/с говорят о влиянии кэширования, а не о скорости сети.

Тесты производительности

Рис. 1. Скорость записи по сети с ПК на Xbox NAS.

Тесты производительности

Рис. 2. Скорость записи по сети с ПК на ПК.

На Рис. 1 и 2 показана скорость записи по сети на Xbox и на ноутбук с процессором Athlon XP1600+ под управлением Windows XP Pro с 512 Мбайт ОЗУ. Хотя пиковые скорости с учётом кэширования в обоих случаях достигают 300 Мбит/с, Xbox показывает такую скорость для более широких рамок размеров файла и записи, то есть имеет некоторое преимущество в скорости записи.

На Рис. 3 и 4 показаны результаты тестов чтения с обоих ресурсов.

Тесты производительности

Рис. 3. Скорость чтения по сети с Xbox NAS.

Тесты производительности

Рис. 4. Скорость чтения по сети с другого ПК.

Как видим, разница в скорости чтения практически не заметна, что подтверждается и результатами теста копирования файла, проведённого ранее.

Во всех тестах мы видим прекрасные результаты при использовании кэширования, но нам нужно оценить скорость без учёта специфики операционной системы. Как показывает наш опыт работы с iozone, эффект от кэширования стремится к нулю при размере файла 128 Мбайт и выше. На Рис. 5 и 6 показано сравнение скорости записи и чтения по сети с Xbox и с ноутбука для файла размером 128 Мбайт при размере записи от 64 до 16384 кбайт.

Тесты производительности

Рис. 5. Сравнение скорости записи на Xbox или ПК при размере файла 128 Мбайт.

Тесты производительности

Рис. 6. Сравнение скорости чтения с Xbox или ПК при размере файла 128 Мбайт.

На Рис. 5 видно, что при малых размерах записей преимущество за ноутбуком, однако при размере записи более 512 кбайт вперёд выходит Xbox NAS.

С другой стороны, как видно по Рис. 6, диск ПК имеет более стабильную скорость чтения, чем у Xbox. Однако, как показало копирование файла, это преимущество может никак не проявиться в реальных условиях.

Заключение

На этом наши «развлечения» с Xbox NAS подходят к своему логическому завершению. Как нам кажется, игра стоила свеч. Относительно скромные финансовые затраты на устаревший для многих «пылесборник» в виде Xbox вылились в гибкое и быстрое сетевое хранилище, которое, кроме всего прочего, оснащено встроенным клиентом BitTorrent. Кроме того, мы получили компактный сервер на базе Linux, задачи для которого всегда можно найти.







Вам также может понравиться
Screenshot
Читать
  • Сети и WiFi

Лучшие Wi-Fi 7 роутеры 2026 — от бюджетных до премиум-моделей

  • THG
  • 01.04.2026
6b899b84cfa989ada44985f9ff84a7b5
Читать
  • Сети и WiFi

Обзор точки доступа Zyxel NWA50AX с Wi-Fi 6 и поддержкой Zyxel Nebula — THG.RU

  • 17.11.2021
839e84eb625c1ec616a7daa3bea45250
Читать
  • Сети и WiFi

Обзор точки доступа Wi-Fi 6 Aruba Instant On AP22 с облачным управлением — THG.RU

  • 20.07.2021
9f1babfd9d54da97c32c6a25ac080610
Читать
  • Сети и WiFi

Обзор Aruba Instant On 1930: коммутаторы для малого бизнеса — THG.RU

  • 20.11.2020
80eeb907ac72c7da46d0d5c5a2956606
Читать
  • Сети и WiFi

Обзор Aruba HPE InstantOn АР11 и AP11D: простое решение для беспроводной сети предприятия — THG.RU

  • 07.07.2020
3192a4c2a988f9d412a4b6d123effd4d
Читать
  • Сети и WiFi

QTECH QMO-234: обзор и тест беспроводного 3G/LTE-роутера — THG.RU

  • 17.07.2019
9840c0e2e07b4c7c1ac1700ebadae7ee
Читать
  • Сети и WiFi

5G и Wi-Fi: в чём разница, и почему нам нужны они оба — THG.RU

  • 07.05.2019
1c0d10d72299d34211ff137ac056b909
Читать
  • Сети и WiFi

Zyxel XGS1930-28HP: обзор и тест облачного коммутатора — THG.RU

  • 09.04.2019

Добавить комментарий Отменить ответ

Ваш адрес email не будет опубликован. Обязательные поля помечены *


Подписывайтесь на наши страницы в социальных сетях
Telegram

Свежие статьи

  • Почему конец партии в дураке решает расчет, а не везение
  • Обзор ноутбука ASUS ROG Zephyrus Duo 2026 (GX651)
  • Тонометр на запястье и титан с керамикой: в России стартовали продажи HUAWEI WATCH D3 и HUAWEI WATCH 6
  • М.Видео начинает предзаказ на HUAWEI MatePad Air: ультратонкий планшет с OLED-экраном PaperMatte
  • Обзор игрового кресла Zone 51 Chevron: крепкий середняк с претензией на звание боевого товарища
Популярные записи
  • Напряжённая карточная партия при свечах 1
    Почему конец партии в дураке решает расчет, а не везение
    • 12.11.2026
  • Без имени 2
    Обзор ноутбука ASUS ROG Zephyrus Duo 2026 (GX651)
    • 14.10.2026
  • WATCH 6 продакт фото2 3
    Тонометр на запястье и титан с керамикой: в России стартовали продажи HUAWEI WATCH D3 и HUAWEI WATCH 6
    • 14.10.2026
  • Wooki 晴光蓝AiryBlue 4
    М.Видео начинает предзаказ на HUAWEI MatePad Air: ультратонкий планшет с OLED-экраном PaperMatte
    • 29.09.2026
  • Photo 2026 09 28 15 47 5
    Обзор игрового кресла Zone 51 Chevron: крепкий середняк с претензией на звание боевого товарища
    • 28.09.2026
Последние записи
  • Contract signing meeting stockcake
    Чем созаёмщик отличается от поручителя
    • 28.09.2026
  • 10USB30
    10 лучших флешек USB 3.0: сравнительный обзор на любой бюджет
    • 05.07.2026
  • 17
    HONOR MagicPad 4: ультратонкий планшет с процессором уровня ПК стартовал в России
    • 04.07.2026
Категории
  • 4G
  • Аудио и видео
  • Без рубрики
  • Бизнес и рынок
  • Видеокарты
  • Домашний компьютер
  • Игры и индустрия
  • Конкурсы
  • Накопители
  • Новости
  • Обзоры
  • Образование
  • Периферия
  • Платформы
  • Подборки
  • Проекторы и мониторы
  • Процессоры
  • Сети и WiFi
  • Смартфоны и ноутбуки
  • Собери сам
  • Софт и утилиты
  • Статьи
  • Техника для дома и сада
  • Фото
Архив
THG
  • Обзоры
  • Статьи
  • Подборки
  • Новости
  • Форум
  • Контакты
  • Главная
IT-новости, обзоры смартфонов, гаджетов и компьютерного железа

Powered by
Necessary cookies enable essential site features like secure log-ins and consent preference adjustments. They do not store personal data.
None
Functional cookies support features like content sharing on social media, collecting feedback, and enabling third-party tools.
None
Analytical cookies track visitor interactions, providing insights on metrics like visitor count, bounce rate, and traffic sources.
None
Advertisement cookies deliver personalized ads based on your previous visits and analyze the effectiveness of ad campaigns.
None
Unclassified cookies are cookies that we are in the process of classifying, together with the providers of individual cookies.
None
Powered by