Pull to refresh

Comments 68

да уж
вы сначала задачи нормальные поставьте, а потом выводы делайте, потому как фраза «были отброшены из за проблем с доступностью, слишком узкой специализацией платформы и неудовлетворительным соотношением затрат к полученным возможностям» говорит обо всём и ни о чём
названные 5 пунктов требований с лихвой обеспечиваются недорогими одноплатными компьютерами с ОС Linux на борту, а что вы потом себе придумали — это уже другой вопрос
Не поймите меня неправильно, уважаемый, но… о чём вобще этот комментарий?
о том, что согласно названным пяти требованиям вам с головой хватило бы одноплатного компьютера с внешним винчестером
и обошлось бы это всё до 100USD (в зависимости от внешнего хранилища)
статья слишком «сумбурно написана» для нормального чтения

а так у вас обычный домашний ПК без какой-то изюминки
таких статей тут пруд пруди
Благодарю за конструктивную критику, Ваше экспертное мнение для меня очень важно и несомненно поможет в написании будущих статей
Если у вас Android-смартфон, в пункте 16 можно всё сделать гораздо проще — установить FolderSync или аналогичный софт и настроить всё в нём. У меня на samba-шаре лежит папка, в которую я сваливаю музыку, предназначенную для загрузки в телефон. Ночью FolderSync сам забирает новую музыку из этой папки, а еще загружает отснятые фотографии и записи звонков.
Спасибо, FolderSync я пробовал ещё в одной из первых её версий. Хорошая штука, просто не совсем то, что мне нужно. Скорее всего придётся писать некое подобие менеджера с демоном на сервере и службой на телефоне — на Sony Z1 Compact у меня почему-то получается расшарить по самбе только внутреннюю память телефона и нужно будет баллансировать по занимаемому месту папки Music на карточке и на внутрянке
А что именно вас побуждает пойти таким сложным путём? Ни в коем случае не пытаюсь с вами поспорить, просто интересно — может быть ваши идеи мне понравятся больше.
Честно говоря наверное наполовину интерес самой реализации, а на вторую половину… просто не видел решений, которые более-менее автоматически баллансируют место между внутрянкой и картой. Если есть идею — с удовольствием изучу, так как особо пока что вопрос не копал. Вполне вероятно что они существуют и я изобретаю велосипед
на «Хакере» не так давно была статья как настроить слаженную работу нескольких андроид-девайсов и управлять потоком одного девайса другим девайсом — телефон, андроид-свисток в телевизоре и медиасервер как источник. если интересно — стучитесь в личку и я дам ссылку. не хочу постить в ленте
Это интернет, он состоит из ссылок, не надо их бояться.
>>17) Whatever comes to mind — …
Имхо не хватает DLNA.
Задумывался над этим, но есть нюанс: панель у меня Philips 47PFL8404, по-моему она его не поддерживает и следовательно он мне не то что бы сильно нужен
Судя по инфе в сети — поддерживает. Да и странно если не так, даже трехлетней давности уже все вроде поддерживали.
Просто как показала практика — это очень очень удобно, лично у меня сейчас NAS с торрентокачалкой, полноценный компьютер для просмотра фильмов уже не нужен.
Да, таки поддерживает, прошу прощения за дезу. Вспомнил что проблема была в другом — не устроило управление: оно как и весь GUI телевизора ужасно тормозное и не позволяет нормально перематывать фильм, особенно ХД рипы. Поэтому решил поберечь нервы :)

Скорее всего DLNA сервер буду поднимать для проектора в другой комнате. Да и просто нужно ещё поэкспериментировать, спасибо за напоминание про эту чудную технологию
UFO just landed and posted this here
И отлично вытянет виртмашину с Win7 параллельно с остальными задачами, я полагаю?
Как выше уже заметили — это всё можно поднять на любом железе, а добиться в наше время бесшумности, за сравнительно недорогие деньги — проще простого!
Мой «основной» сервер:
GigaByte GA-Z68XP-UD3
Intel Core i7-3770 + Thermalright Macho 120
Kingston HyperX DDR-III DIMM 8Gb KIT 2*4Gb PC3-12800
OCZ Vertex 2 60Gb SSD
Seagate Barracuda 750Gb 7200rpm 16Mb
Seagate Barracuda LP 2000Gb 5900rpm 32Mb (x2)
Seagate Barracuda Green 2000Gb 5900rpm 64Mb
Fractal Design Define R4
Chieftec Nitro2 85+ BPS-750C2

Всё охлаждается пассивно, только один вентилятор на выдув из корпуса на минимальных оборотах, харды в коробках Scythe Quiet Drive, с Thermalright Macho 120 снят вентилятор и он охлаждает проц пассивно, вот вам температурка:
korp]# sensors
coretemp-isa-0000
Adapter: ISA adapter
Physical id 0: +60.0°C (high = +85.0°C, crit = +105.0°C)
Core 0: +60.0°C (high = +85.0°C, crit = +105.0°C)
Core 1: +58.0°C (high = +85.0°C, crit = +105.0°C)
Core 2: +56.0°C (high = +85.0°C, crit = +105.0°C)
Core 3: +55.0°C (high = +85.0°C, crit = +105.0°C)

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

Вот вам второй сервак:
GigaByte GA-G33-DS3R
Intel Core 2 Quad Q8300
Patriot DDR-II DIMM 1Gb PC-6400 (x2)
Kingston HyperX DDR-II 2Gb PC-6400 (x2)
Intel X25-V Value 40Gb SSD
Seagate Barracuda 1500Gb 7200rpm 32Mb
Chieftec WH-01B-B + БП ноунейм

харды всё в тех же коробках, проц так же охлаждается пассивно, на этой машине меньше всего запущено, и нагрузка меньше, по этому выдув из корпуса только через БП, а температурка там не выше:
korp]# sensors
coretemp-isa-0000
Adapter: ISA adapter
Physical id 0: +58.0°C (high = +85.0°C, crit = +105.0°C)
Core 0: +58.0°C (high = +85.0°C, crit = +105.0°C)
Core 1: +58.0°C (high = +85.0°C, crit = +105.0°C)
Core 2: +58.0°C (high = +85.0°C, crit = +105.0°C)
Core 3: +55.0°C (high = +85.0°C, crit = +105.0°C)

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

http://korphome.ru
Посколько пост задумывался не как мерянье приборами, а просто поделится опытом и расказать как я спавился с поставленной задачей, так сказать, my way… то даже не знаю что вам ответить уважаемый. Не сомневаюсь что вы их собирали исходя из своих нужд и под свои финансы, но оба ваших конфига в моём понимании не сбаллансированы как минимум по двум из трёх показателей, которые для меня важны.
А я вам, свой конфиг и не предлагал, я говорил о пассивном охлаждении.
Охлаждение у вас не пассивное + сравните размеры вашего сетапа с моим
А какое, простите? Водяное? Или для полного счастья нужен пассивный БП? Проходили — умер :)
Не знаю что и как у вас мрёт, у меня сервер на пассивном внешнем 60 Вт работает 2 года 24/7, ББ работает от пассивного чифтека 500 Вт в корпусе, в котором на выдув нет вобще ничего + все видео и процессор на воде. А поскольку конфигурация там в разы сильнее и под неплохим разгоном то работает он в граничных режимах под нагрузкой. Год полёт нормальный. Уверен что ваш вариант это скорее случайность нежели закономерность (при выборе качественного БП, конечно)
Я и не говорил что это закономерность, просто однажды у меня Термалтейк пассивный помер через год работы 24х7 и я не стал больше эксперементировать, взял с большим 140мм вентилятором — крутится медленно, а воздух нагнетает хорошо и шума нет
Screen не прокатит, пробовалось. Насчёт выбора i3 — читайте внимательнее статью: он был выбран не только из за своих ходовых качеств, но и из за наличия набортной HD4000. Насчёт матери — посматривал в эту сторону: 2 порта мне абсюлютно некуда применить + к встроенным процессорам в таком классе устройств издревле отношусь не очень
температурные режимы не выдержаны.
от того и мрёт. 40-45 градусов… иначе это уже не сервер, а духовка. а при современной плотности разница между комнатными 18-28 и вашими показателями могут просто умертвить систему за одно плановое выключение.
Эм, какие температурные режимы не выдержаны? Как температура проца связана с хардом?
[root@mini korp]# hddtemp /dev/sdb
/dev/sdb: ST31500341AS: 42°C
[root@mini korp]# hddtemp /dev/sdc
/dev/sdc: ST31500341AS: 41°C

Что и кого должно умертвить при выключении — мне не понятно.
Лично у меня с поставленными задачами справляется немолодой уже EeePC, у которого умерло видео. Забесплатно, нашёл по друзьям.
Подтверждаю: старые ноуты отлично подходят на роль домашних серверов. У многих даже встроенный УПС работает =).
Единственное, что неудобно, третий винт можно подключить обычно только во внешнем боксе (второй вместо сидюка).
Кхм…
То есть по сути смысл статьи можно передать как «как я собрал обычный mini-itx комп и поставил на него линукс.»
По сессиям в SSH — если сессия оборвалась, то ничто не поможет, по сути классическим решением в данном случае является тот же screen, а если его прописать на автостарт при коннекте, то вообще все проблемы решите.
Выбор железа всё таки у Вас получился странный, i3 для файлохранилища — это немного слишком, да и Linux можно поставить на что угодно в наше то время.
У себя для рабочих виртуалок взял Gigabyte GA-C1007UN-D, там и 2 гигабитных ethernet порта, и процессор с поддержкой всего фарша для виртуализации, и стоит всё это оптом меньше 3000руб, сейчас на этом целероне без проблем живут одновременно не менее 5 виртуалок на raid1, а у Вас под такое i3…
При выборе железа рекомендую считать и затраты на электричество, Ваш i3 кушает по спецификациям 35ватт только процессор.
Screen не прокатит, пробовалось. Насчёт выбора i3 — читайте внимательнее статью: он был выбран не только из за своих ходовых качеств, но и из за наличия набортной HD4000. Насчёт матери — посматривал в эту сторону: 2 порта мне абсюлютно некуда применить + к встроенным процессорам в таком классе устройств издревле отношусь не очень
Ну если вам даже screen не прокатит… А подскажите пожалуйста для кругозора, чем он не подошёл в вашем случае?

А зря, этот целерон на редкость хороший, я на нём без тормозов dead space ради теста прошел весь. Наверное, не просто так intel не пишет что там за видеоподсистема. Да и расход у него всего 17ватт.
Возможно этот вариант был бы и лучшим, не спорю. Но ещё не хотелось возиться с нестандартным креплением для кулера, а поскольку он там клеенный то пришлось бы немного извернуться. В общем если вы говорите что видео там неплохое, то в моих глазах этот вариант вполне легитимный, но не для моего проекта.

Насчёт скрина — он не прокатит потому что при обрыве соединения по вине смарта там уже без разницы по-моему
По screen — ему без разницы откуда вы заходите, всё просто — при команде
screen -r

он откроет вашу последнюю сессию (но если сессий в нём открыто больше, то он потребует в добавок ввести её id).
Открыть сессию в нём просто (извиняюсь за капитанство) —
screen

В общем рекомендую изучить всё-таки, проблему вашу он гарантированно решит.
Посмотрел. Не то — для того, что бы запустить что-то под скрином и потом его продолжить нужно уметь управлять стартовыми параметрами, в которые добавить вышеупомянутый screen -r. Этого SSHMote не умеет, к сожалению
Вы не в ту сторону смотрели, вам надо на стороне сервера указать, что если подключается сессия по ssh, то запускать screen.
Быстрое гугление приводит пример: в файле ~/.bashrc (пользователя, под которым входите) прописать:
if [ -z "$STY" ]; then
    exec screen -dR
fi

А вот тут вообще продвинутый вариант с выбором последних сессий.

Хотя лично я всегда делал проще — на автозапуск не прописывал, но если мне был критичен обрыв сессии — ввёл screen и забыл о проблемах.
Может, конечно, я что-то не так делаю, но этот вариант не подошёл — при коннекте через SSHMote стартует новая сессия, хотя через putty — старая
Попробуйте if заменить на
if [ -n "$SSH_CLIENT" ] || [ -n "$SSH_TTY" ]; then

Надо смотреть какие переменные, касающие ssh, создаются при входе через SSHMote, и по ним выставить if.
Так же тут можно посмотреть полный пример кода, который также проверяет, тянется ли сессия от процесса sshd.
По-поводу видеонаблюдения могу порекомендовать Zone Minder или Motion
Мне для моих нужд хватило Motion
Спасибо за совет, покопаю насчёт этих двух
Не увидел в публикации слово «RAID», не забывайте делать бэкапы.
С рейдом думал заморочиться, но понял что мне он попросту не нужен — отказоусточивость системы в моём случае играет меньшую роль чем размер, так как под эту идею пришлось бы перепиливать корпус и кардинально менять компоновку — второй Scythe QUiet Drive в него уже бы поместился только при совершенно другой компоновке.

Насчёт бекапов — да, так как древние временя отработал пару лет админом я как раз отношусь к второй категории людей из анекдота про тех, кто уже делает бекапы :) Теперь хочу организовать бэкапы куда-то в облако, но пока не копал этот вопрос совсем, так что если посоветуете что-то толковое — буду признателен
Столько сервисов (конфигурационных файлов) на одной железке — обязательно делайте бэкап.
Теперь хочу организовать бэкапы куда-то в облако

Огромное количество вариантов, например VPS + rsync
# rsync -e 'ssh -p 22443' --progress -lzuogthvr --delete-after /home/zayden/RSYNC/ zayden@zayden.ru:/home/zayden/RSYNC/
Но если речь идёт не о музыке и фото, а только файлах конфигурации, то достаточно их записывать на флешку, к примеру
# crontab -l PATH=/sbin:/root/scripts:/usr/sbin:/bin:/usr/bin 1 * * * * /root/scripts/backup_nginx.sh 2 * * * * /root/scripts/backup_httpd.sh 3 * * * * /root/scripts/backup_openvpn.sh и т.д. cat /root/scripts/backup_nginx.sh #!/bin/bash mount /dev/sdb1 /media/usb cd /media/usb f_name=`date -u +%Y%m%d`.nginx.tar.gz tar cvjf $f_name /etc/nginx cd / umount /media/usb exit 0 cat /root/scripts/backup_httpd.sh #!/bin/bash mount /dev/sdb1 /media/usb cd /media/usb f_name=`date -u +%Y%m%d`.httpd.tar.gz tar cvjf $f_name /etc/httpd cd / umount /media/usb exit 0
как-то так.
Удачи!
Извините.
rsync -e 'ssh -p 22443' --progress -lzuogthvr --delete-after /home/zayden/RSYNC/ zayden@zayden.ru:/home/zayden/RSYNC/


# crontab -l
 PATH=/sbin:/root/scripts:/usr/sbin:/bin:/usr/bin 
1 * * * * /root/scripts/backup_nginx.sh 
2 * * * * /root/scripts/backup_httpd.sh 
3 * * * * /root/scripts/backup_openvpn.sh 

и т.д.
cat /root/scripts/backup_nginx.sh 
#!/bin/bash 
mount /dev/sdb1 /media/usb 
cd /media/usb 
f_name=`date -u +%Y%m%d`.nginx.tar.gz 
tar cvjf $f_name /etc/nginx 
cd / 
umount /media/usb 
exit 0 


cat /root/scripts/backup_httpd.sh 
#!/bin/bash 
mount /dev/sdb1 /media/usb 
cd /media/usb 
f_name=`date -u +%Y%m%d`.httpd.tar.gz 
tar cvjf $f_name /etc/httpd 
cd / 
umount /media/usb 
exit 0 

и т.д.

Спасибо за совет, я немного не то имел в виду: сейчас бэкап уже организовыван как раз по варианту с rsync'ом. Просто организован он на внешнюю 320-ку WD MyPassport. А хотелось бы в облако бекапить весь раздел что бы разворачивать а-ля Acronis TI на винде — весь раздел
А хотелось бы в облако бекапить весь раздел

Посмотрите в сторону DRBD… аля сетевой RAID
Не очень понятно, почему на роль такого же сервера не подошёл уже существующий ББ? Можно было в нём так же заменить корпус и вентилятор и получить тишину.
Там стоит 780Ti, Core i5 2500K и всё в разгоне с водой. Он тоже бесшумен, но так стоит Win7 для работы и игр. Такая конфигурация абсолютно не нужна для подобного сервера
Не хочу холиварить, но чем же это Win7 не подошла в качестве сервера?
Если цель была создать именно отдельное устройство-медицацентр, но одновременно с которым используется и основной компьютера — то да, тогда второй был нужен. Если же в эти моменты основной не используется, то вполне можно было им и обойтись, от того что там idle потребляет на 50-80Вт больше особо погоды не сделает.
Я абсолютно ничего не имею против винды, но у каждой системы есть свои плюсы и минусы. Как я описал в начале статьи хотелось ближе познакомится с линуксом — цель достигнута. Но есть и остальные причины почему ББ не подошёл:

1) лишние 50-80 Вт для меня погоду сделают — система, которая в простое кормит ненужное железо проживёт от моего 1,5 кВт УПСа на порядок меньше чем сервер, а для меня это важный пункт
2) Как вы уже заметили параллельно в половине случаев могут использоваться 2 машины одновременно
Измените шаблон имен папок с фотографиями на «yyyy.mm.dd метка» значительно удобней навигация.
Зачем? Такой шаблон был выбран не случайно, так как хотелось что бы все фото в течении одного дня ложились в одну папку
Сортировка по имени даёт
20.01.2014
21.01.2010
21.01.2011
22.02.2011
23.03.2010
Что несколько отличается от хронологического порядка. Даты создания в linux нет, так что отсортировать нормально не получится. Насколько я понимаю потом Вы их уже вручную сортируете и больше одного года в unsorted не скапливается, а в конечном варианте возможно уже другой принцип именования каталогов.
Да, интервал разборки фотопомойки не превышает полгода
Ну всё равно разные месяцы с одним днём будут рядом.
Попробуйте мой скрипт. Я им сортирую по времени. Может пригодится.
#!/bin/bash
TargetDirectory=$1 #Принимаем параметр
cd "$TargetDirectory"
for FileList in *; do
  if [ -f "$FileList" ]; then #проверяем, что сортируемый объект это файл
  #оцениваем время последней модификации файла, со временем создания тупняк почему-то
    FileCreationDate=$(stat $FileList -c %y | awk '{print $1}') 
    #echo $FileCreationDate
  if [ ! -d "$FileCreationDate" ]; then #проверяем отсутствие директории с текущей датой
    mkdir "$FileCreationDate" #создаем директорию соответственно дате
    mv "$FileList" "$FileCreationDate"
  else
    mv "$FileList" "$FileCreationDate"
  fi
  fi
done
Попробуйте лучше мой :) Я им сразу по нужным каталогам распихиваю, потом только их переименовать и удалить лишнее.
Посмотрю, благодарю)
Офигеть монстроскрипт) моё знание bash в растерянности( буду разбираться. Спасибо еще раз.
На самом деле там всё просто (я сразу тогда не исправил по замечаниям, а сейчас боюсь браться. Там есть точный комментарий: А через год забыл, что писал, как писал, и как оно вообще работает. А оно всё работает!).
Но можно посмотреть только на exiftool (у него своих возможностей вагон, вроде бы Ваш скрипт заменяется его однострочником), меня смущали события, тянущиеся ещё со вчера (чтоб не множило каталоги), ну и хотелось чтоб само копировалось.
В целом проще самому переписать) я тоже напрочь забыл как оно работает) магия))
Кстати крутить полноценное графическое окружение только ради медиаплеера не нужно. У меня стартует отдельно только xbmc и все. Никакого больше обвеса. В итоге у меня сервер с пачкой виртуалок на kvm (управление извне через virtual machine manager), каждый сервис в своем окружении и не мешает другим. Проще и клонированием и с экспериментами. Основную систему стараюсь не трогать. На ней Debian. А зачем вам винда на виртуалке?
Зачем винда — описано в статье. xbmc пробовал, просто не понравилось
1. Не понимаю, на кой на сервере крутится gnome (а тем более Unity). Если уж очень нужен рабочий стол, несколько удобнее запускать его только в сеансе VNC, благо производительности хватает. Но для чего он там может понадобиться, я не понимаю. К примеру, у меня несколько программ запускаются в разных сеансах VNC, при этом никакого рабочего стола нет и ресурсы на него не тратятся. Hint: $ cat .vnc/xstartup
#!/bin/sh

if [ -z "$VNCAPP" ]
then
# Uncomment the following two lines for normal desktop:
# unset SESSION_MANAGER
# exec /etc/X11/xinit/xinitrc

[ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup
[ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
xsetroot -solid grey
vncconfig -iconic &
x-terminal-emulator -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" &
x-window-manager &
else
logger daemon.info «Start VNC with $VNCAPP»
xsetroot -solid black
vncconfig -iconic &
x-window-manager &
umask 002
$VNCAPP
sleep 10
vncserver -kill $DISPLAY
fi

На разных портах работает VNC с разной переменной окружения VNCAPP, когда подключаешься, запускается приложение. Завершил приложение — сеанс закрылся.

2. Переподключение SSH изумительно работает с использованием screen. Всего лишь нужно «покрутить» ~/.bashrc на сервере, а можно и вовсе пользователю назначить шелом скрипт, который будет восстанавливать сеанс screen. Короче: man screen screenrc.
Есть ещё скрипт autossh, но не знаю, насколько он тут будет применим.

3. «Из недостатков такого сетапа стоит ещё отметить почти полную невозможность работы с плейлистами: если возможность загрузить только целиком папку и навигация по этому списку будет только вперёд-назад — и то вслепую. Конкретный файл из папки выбрать можно только в режиме проигрывания одиночного файла.» — плейлист для mplayer — это простой текстовый файл, формируешь этот файл как тебе хочется, затем запускаешь mplayer -playlist generated.txt
Навигация по плейлисту, действительно только вперёд-назад. Произвольный выбор файла только в mplayer-gui (-gnome, -...)

4. «Видеонаблюдение — хотелось бы на сервер завести стрим с камеры, которая будет показывать парковку и так же установить видеоглазок.»
Да хоть mplayer в скрипте. Хотя Motion удобнее, а ZoneMinder так и вовсе не хуже коммерческого софта.

5. Проблема Virtualbox отсутствует в QEMU-KVM. Рекомендую заменить виртуализатор.

6. Накуя на сервере transmission-gtk?!? На сервере transmission-daemon, на компах и андроиде — клиенты. Transmission для того и создан, чтобы работать в режиме клиент-сервер без гуя на сервере.

Последнее.
Пожалуйста, исправьте опечатки. Спелчекер нынче чуть не в каждый браузер встроен. Про «Видиоплеер» ntfs1984 уже давно помянул.
Sign up to leave a comment.

Articles