Cubietruck. Дорожный мини сервер. Часть 1

    image
    Идея такого сервера родилась на отдыхе. Вечером хотелось посмотреть онлайн сериальчик на планшете, а из-за не устойчивого приема 3G, просмотр превращался в муку. Как вариант можно было скачать серию, но опять же при скачивании сигнал постоянно плавал, скорость прыгала и планшет надо было держать постоянно включенным и на зарядке (специфика приложения). К вечеру скачивалось пару серий и можно было спокойно посмотреть сериальчик.
    В это время то и зародилось идея создания данного девайса. В инете большое количество реализации хранилища информации на одноплатных компьютерах разных производителей, но объединения нескольких решений найдено не было.

    Что в планах:
    Мозгом всей системы Cubietruck
    HDD – 500Gb
    USB модем HUAWEI E3372
    Питание AC-DC 5V
    Питание DC-DC 12V – 5V (для автомобиля)

    Как это будет работать:
    Дома это будет обыкновенный NAS подключенный по сетевому кабелю (lan) и примапленный к компу как простой сетевой диск.
    На CubieTruck будет постоянно работать точка доступа WI-FI (на случай если нет Wi-FI, а есть только кабель с DHCP).
    В случае, когда в Cubietruck подключен сетевой кабель (lan), девайc подключенный к точки доступа Cubietruck должен ходит в интернет через сетевой кабель, а не 3G. Модем же должен начать свою работу, когда к Cubietruck не подключен сетевой кабель.

    При настройке опирался на пост Cubietruck. Уютный, домашний сервер так что процесс установки системы описывать не буду.

    Настойки сети


    Все настройки делал на винде.
    Записываем образ системы на флешку, ставим ее в на свое место и включаем Cubietruck.
    Система сама устанавливается и перезагружается. После этого Cubietruck с установленной Cubian готова к работе.
    В отсутствии монитора с HDMI и клавиатуры нам понадобиться Putty.
    Идем на устройство с DHCP (роутер и сервер) находим ip нашего Cubietruck
    Подключение производим по порту 36000, так как это порт по умолчанию в SSH Cubian.
    Логин/пароль cubie/cubie
    В процессе настройки не менял.

    Лично для себя сменил порт.
    Для этого правим sshd_config
    sudo nano /etc/ssh/sshd_config
    

    Находим сторку с портом 36000
    Port 36000
    Меняем на
    Port 22
    Сохраняем. В редакторе nano для сохранения жмем Ctrl+O затем Enter и для выхода Ctrl+X.
    Перезагружаемся
    sudo reboot
    

    Все теперь можем подключиться по стандартному порту 22
    Так как кубик планируется как нечто переносное, то в будущем интерфейс eth0 то есть порт Enternet будет работать по DHCP, но сейчас для удобства настройки присвою ему статический адрес:
    Настройки интерфейсов хранятся в файле /etc/network/interfaces
    sudo nano /etc/network/interfaces
    

    Конфигурация по умолчанию
    auto lo
    iface lo inet loopback
    
    #
    auto eth0
    iface eth0 inet dhcp
    

    Изменяем интерфейс eth0. Не забываем, что каждый меняет настройки под себя
    auto eth0
    allow-hotplug eth0
    iface eth0 inet static
            address 192.168.1.247
            netmask 255.255.255.0
            gateway 192.168.1.10
            dns-nameserver 192.168.1.7
    

    Перезагружаемся
    sudo reboot
    

    Пингуем хост ya.ru проверяем его доступность.
    cubie@Cubian:~$ ping ya.ru
    PING ya.ru (213.180.193.3) 56(84) bytes of data.
    64 bytes from www.yandex.ru (213.180.193.3): icmp_req=1 ttl=56 time=2.04 ms
    64 bytes from www.yandex.ru (213.180.193.3): icmp_req=2 ttl=56 time=1.82 ms
    64 bytes from www.yandex.ru (213.180.193.3): icmp_req=3 ttl=58 time=1.95 ms
    

    Ответ есть, сеть настроена

    Автоматическое монтирование раздела HDD


    Создадим папку, куда будет монтироваться HDD.
    sudo mkdir /media/files
    

    Даем право доступа на чтение/запись для всех пользователей.
    sudo chmod 777 /media/files
    

    Просмотр разделов HDD.
    sudo fdisk -l
    

    У меня установлен диск на 500Gb
    Disk /dev/sda: 500.1 GB, 500107862016 bytes
    255 heads, 63 sectors/track, 60801 cylinders, total 976773168 sectors
    Units = sectors of 1 * 512 = 512 bytes
    Sector size (logical/physical): 512 bytes / 512 bytes
    I/O size (minimum/optimal): 512 bytes / 512 bytes
    Disk identifier: 0x82e3ff7e
    

    Отформатируем диск в файловую систему ext4
    sudo mkfs.ext4 /dev/sda
    

    Узнаем UUID нашего HDD
    sudo blkid
    

    /dev/mmcblk0p1: LABEL="cubieboard" UUID="2a1124a9-6108-4da0-932f-78ccbfd92458" TYPE="ext4"
    /dev/sda: UUID="ff0caf96-39b9-4aff-a4d0-5892abfdca8f" TYPE="ext4"
    

    Нам понадобиться UUID /dev/sda
    Копируем UUID без кавычек
    ВНИМАНИЕ. У каждого диска свой UUID
    Теперь добавляем запись в /etc/fstab
    sudo nano /etc/fstab
    

    В самый конец добавляем
    UUID=ff0caf96-39b9-4aff-a4d0-5892abfdca8f       /media/files    ext4   defaults,acl,user,user_xattr,errors=remount-ro
    

    * аттрибуты выставляете по своему вкусу
    Записи разделяем либо пробелом, либо табуляцией
    Перезагружаемся:
    sudo reboot
    

    После перезагрузки проверяем
    mount
    

    Диск примонтирован в систему
    /dev/sda on /media/files type ext4 (rw,nosuid,nodev,noexec,relatime,errors=remount-ro,data=ordered)
    

    Если диск отформатирован в системе NTFS и его надо примонтировать в систему
       Device Boot      Start         End      Blocks   Id  System
    /dev/sda1            2048   234438655   117218304    7  HPFS/NTFS/exFAT
    

    Для начала обновим список репозиториев и поиск индексов обновленных версий программ, драйверов, ядра и всего прочего:
    sudo apt-get update
    

    Для того необходимо установить утилиту ntfs-3g
    sudo apt-get  install ntfs-3g
    

    Узнаем UUID нашего раздела
    sudo blkid
    

    /dev/sda1: LABEL="M-PM-^]M-PM->M-PM-2M-QM-^KM-PM-9 M-QM-^BM-PM->M-PM-<" UUID="E8923D15923CE9A8" TYPE="ntfs"
    

    Нам нужен UUID=«E8923D15923CE9A8»
    Теперь добавляем запись в /etc/fstab
    sudo nano /etc/fstab
    

    В самый конец добавляем
    UUID= E8923D15923CE9A8       /media/files    ntfs-3g   defaults,acl,user,user_xattr,errors=remount-ro
    

    * аттрибуты выставляете по своему вкусу
    Записи разделяем либо пробелом, либо табуляцией
    Перезагружаемся:
    sudo reboot
    

    После перезагрузки проверяем
    mount
    

    Диск с NTFS примонтировался
    /dev/sda1 on /media/files type fuseblk (rw,nosuid,nodev,noexec,relatime,user_id=0,group_id=0,allow_other,blksize=4096)
    

    Установка Samba


    Для начала обновим список репозиториев и поиск индексов обновленных версий программ, драйверов, ядра и всего прочего:
    sudo apt-get update
    

    Установим samba
    sudo apt-get install samba samba-common-bin
    

    В samba много настроек, но сейчас нам необходимо настроим только основные, чтобы получить доступ к нашему диску
    Открываем файл smb.conf
    sudo nano /etc/samba/smb.conf
    

    Можно удалить все множество настроек, а можно добавить в соответствующие разделы нужные нам настройки
    [global]
    workgroup = WORKGROUP
    guest ok = yes
    netbios name = CubieNAS
    security = share
    browseable = yes
    
    [files]
    path = /media/files
    writeable = yes
    browseable = yes
    

    Перезапускаем Samba
    sudo /etc/init.d/samba restart
    

    Пробуем зайти
    \\ CubieNAS или \\ip
    Если все правильно настроено мы увидим папку files

    У меня в гигабитной сети скорости:
    Диск EXT4
    Файл 1 Gb передается со скоростью 24-29 Мб/с
    Папка с 300 файлами разного формата 16-34 Мб/с
    Копирование с кубика
    Файл 1 Gb передается со скоростью 26-34Мб/с
    Папка с 300 файлами разного формата 22-33Мб/с
    Диск NTFS
    Копирование на кубик
    Файл 1 Gb передается со скоростью 8-9 Мб/с
    Папка с 300 файлами разного формата 3-8 Мб/с
    Копирование с кубика
    Файл 1 Gb передается со скоростью 24-28Мб/с
    Папка с 300 файлами разного формата 12-27Мб/с
    Не быстро, но работает.

    Cubietruck. Дорожный мини сервер. Часть 2
    Cubietruck. Дорожный мини сервер. Часть 3
    Share post

    Comments 29

      0
      Можете глянуть занятость CPU при копировании?
      Цифры для самбы без упорного тюнинга вполне хорошие, наверняка упёрлись не в железо, а непосредственно в самбу.
        0
        А есть ли у вас более-менее оптимальные параметры «тюнинга» самбы для СТ?
          0
          У меня не CT, у меня NAS'ка на i5 (т.е. точно не в CPU упираюсь) тоже в среднем только 30-40мб/с даёт. И не диски с сетью ограничивают — NFS легко 100мб/с прокачивает.
          Когда искал информацию о тюнинге самбы — люди отписывались о цифрах куда ближе к гигабитке, но у меня такое не получилось.
            0
            А остались ссылочки на тюнинг? А то когда недавно искал — старые посты сплошные выплывали — тоже толку небыло. Просто есть НАС WD простейшие, там 80-90мб/с, а есть серверок под ЦентОСью и там скорость всего 40мб/с и там точно упирается не в производительность машины/хардов.
              0
              Нет, не остались. Обычно не сохраняю ссылки, которые не помогли достичь желаемого =)
              CentOS… Там тоже ещё третья самба? Может, на четвёртой будет веселее, но пока нет желания экспериментировать.
        0
        top - 14:23:46 up  2:44,  1 user,  load average: 0.22, 0.12, 0.08
        Tasks: 101 total,   2 running,  94 sleeping,   5 stopped,   0 zombie
        %Cpu(s):  3.9 us, 33.3 sy,  0.0 ni, 29.9 id, 15.6 wa,  0.0 hi, 17.3 si,  0.0 st
        KiB Mem:   1866408 total,  1811912 used,    54496 free,    10552 buffers
        KiB Swap:        0 total,        0 used,        0 free,  1735664 cached
        
          PID       USER      PR  NI      VIRT      RES      SHR S     %CPU   %MEM    TIME+      COMMAND
         4006      nobody     20  0      17852     3464     2328 R     95.2   0.2    11:38.25      smbd
        
        


        Когда использовал диск с NTFS проц загружался не более 50-60%
          0
          Кстати, с СТ ситуация тоже не совсем однозначная. Я использую этот образ, и автор пишет:
          Gigabit ethernet transfer rate is around 50% of its theoretical max rate (hardware or firmware issue)
          +2
          Сохраняем. В редакторе nano для сохранения жмем Ctrl+O затем Enter и для выхода Ctrl+Z.

          Ctrl+X же, по Ctrl+Z вы отправили текущий процесс в фон.

          /dev/sda1: LABEL=«M-PM-^]M-PM->M-PM-2M-QM-^KM-PM-9 M-QM-^BM-PM->M-PM-<» UUID=«E8923D15923CE9A8» TYPE=«ntfs»

          Что это за набор букв и символов?!
          • UFO just landed and posted this here
              0
              в DIR-320 один порт USB
                0
                + маленький хаб
            • UFO just landed and posted this here
                –1
                Инструкция для чайников по базовой настройке линуха… Но для себя узнал про Cubietruck.
                  0
                  Базовые то может и базовые, но когда с Linux не работаешь, то возникают определенные трудности.
                    0
                    А для чего порт ssh менять на стандартный, когда его наоборот надо менять на отличный от 22?
                      0
                      Какой смысл в изменении стандартного порта?
                        0
                        Зачем менять порт ssh?
                        Смена порта не более, чем самоуспокоение.
                        Сканирование легко покажет его новый адрес.
                        А сканирование сделает любой злоумышленник, от которого вы собираетесь менять порт.
                          0
                          Зачем мне прятать железку в домашней сети?
                            0
                            Вопрос ведь стоял в целесообразности смены стандартного порта ssh, а не в запрятывании железки. Смена порта даже на обычном сервере ни какого смысла не несет, а уж в домашней сети и подавно.
                            • UFO just landed and posted this here
                        0
                        Что, в гугле нет ни одной статьи как самбу настроить или сеть или монтирование дисков? Ой не верю.
                          0
                          Я просто собрал все воедино и написал. Может кому то и пригодиться.
                            0
                            Спасибо — мне пригодилось, как раз собираю домашний сервер.
                            Один вопрос: как всё-таки побороть невозможность зайти с Windows 7? При попытке открыть через Сетевое окружение самба спрашивает login/pass. Хотя явно указан guest ok — yes.
                              0
                              security случайно поменять не забыли?
                                0
                                Стоит share — верно?
                                  0
                                  Да, верно.
                                  Я честно не помню, что мне при той же проблеме помогло, но сейчас за что глаз зацепился: у меня в global указаны ещё опции usershare allow guests = yes и dns proxy = No
                                0
                                А так не пробовали?
                                guest ok = yes
                                guest only = yes
                                  0
                                  Что-то из этого помогло, ещё сам не понял, что именно. Спасибо :-)

                                  Пока результат превосходит все мои ожидания. Раньше в качестве «сервера» (сетевой диск + торрент-клиент) стоял бюджетный ноутбук на Windows 7 (1,8Ghz/4Gb RAM, SATA-HDD), смотреть видео больше, чем DVD-Rip по сети было уже некомфортно — медленно открывались файлы, тормозила перемотка, и в целом медленный отклик.
                                  Теперь стоит asus eeepc 701 (самый-самый первый) с Ubuntu 14 server и жёстким диском по usb 2.0. Просто красота, даже 3D-кино 20+ гигабайт без задержек показывает.

                                  Короче, автору спасибо, инструкция помогла понять порядок действий.
                                    0
                                    Вот какое оказалось решение:
                                    Дело в том что директивы security = share и security = server считаются устаревшими и не применяются более в Samba 4. Поэтому используется оставшаяся директива security = user. А для того чтобы отделить пользователя от гостя применяется новая директива map to guest = Bad Password, смысл которой заключается в том, что если пользователь Samba существует в системе и введен неверный пароль, то вход этого пользователя отклоняется, если пользователя не существует, тогда ему присваивается статус гость. Ну а для того чтобы открыть доступ к общему ресурсу для гостей осталась старая добрая директива guest ok = yes которую необходимо указывать непосредственно в секции расшариваемого каталога.

                        Only users with full accounts can post comments. Log in, please.