Your server de что это
Осторожно, Hetzner использует старые и поношенные диски
Про Hetzner на Хабре много упоминалось: здесь и там. Поначалу нашей команде, как и многим другим, очень нравилось.
Отношения с Hetzner у нас давние. Наш старый проект Name.ly (вместе с Brief.ly) крутится у немцев от своего зачатия. Как на «low-cost dedicated hosting» — не жаловались, арендовали сервера у Hetzner з 2008 года. Проблем больших не было. Поддержка — ок. Не самые быстрые ребята. Но за пол часа — час, иногда два — отвечали и помогали.
Но вот со средины 2011-го мнение изменилось. Может наш хард первоначально заказан в 2008-м и 2009-м постарел, или по других причинам.
Сначала в конце мая сгорел hardware RAID — и заодно «поджег» нам два диска. Два дня намучались (с вот такой похожей проблемой), но пришлось всё с резервной копии восстанавливать.
Потом в начале сентября на старенькой машине также «ушли» два диска, собранные в software RAID. Опять закончилось всё доставанием данных с бекапа.
Спасибо Hetzner хоть за 100 ГБ бесплатного FTP для личных нужд.
Кстати, старые диски Hetzner сразу «уничтожает». Если заранее не попросить сберечь снятые диски на некоторое время, то данные будут потеряны.
Прошло только пол года, и на машине, которую мы восстановили в июне, опять полетел уже второй hardware RAID. На этот раз «более удачно» — удалось откачать данные с одного диска.
Вот состояние дисков после «падения»:
Model Family: Seagate Barracuda 7200.11 family
Device Model: ST31500341AS
Firmware Version: CC1H
User Capacity: 1,500,301,910,016 bytes
ID# ATTRIBUTE_NAME FLAG VALUE WORST THRESH TYPE UPDATED WHEN_FAILED RAW_VALUE
Проехали. Попросили поставить новые диски. Но решили на этот раз проверить. Вот выхлоп smartctl:
Model Family: Seagate Barracuda 7200.11 family
Device Model: ST31500341AS
Firmware Version: CC1H
User Capacity: 1,500,301,910,016 bytes
Из-за этого можно было бы шум и не поднимать. Хотя диск и не свежий, 10 месяцев как ни как. А вот и второй «новый» диск:
Диск уже отработал 10155 часов, т.е. 423 дня, т.е. год и два месяца. Попросили поставить новый. Получили отказ:
Dear client,
we check all hard disc with the factory tool, before we use the hard discs again.
We can’t guarantee to install brand new hard discs. If you have issues with a hard
disc, you can contact us any time. We are 24/7 available.
Попросили не повторять летнюю ошибку, тогда как оказалось они поставили нам полтора-годичный диск который умер через пол года. Опять получили отказ:
We regret, but we will not replace a non faulty disk on your Server, a lifetime of
as example 18095 power on hours is not a defect or value which means that your
harddisk will get faulty sooner than any other.
If you think that your Server got a faulty harddisk please provide us logfiles
which shows the error.
If you want to get other harddisks, this would cost a one-time fee of 39,- Euro
for each harddisk.
39 долларов за замену диска, и нет гарантии, что за диск ты получишь в замену. Такая себе «Russian roulette».
Я лично попытался позвонить и поговорить. Прождал на линии 10 с половиной минут — немец сказал «Guten Abend» несколько раз, после чего не расслышав меня бросил трубку (звонок был через Скайп — но в Англию перед тем я нормально звонил).
Далее по мейлу задали вопрос, а зачем нам вставили диск с уже 32 перенесёнными секторами. В ответ — привет:
Deacr client,
If you suspect a hardware failure, we can provide a full hardware-check. Both hard
disc will checked with the SMARTCTL long check. A hard disc has many spare sectors
for this case and 32 is not a critical value.
If you want, we can move your request to our supervisor.
Написали начальнику. В ответ получили фигу:
I can understand your concern about a possible hard drive failure, but as my
colleague has already explained to you we check all hard disc with the factory
tool and only if the test is OK then we use the hard disc again. Also a new hard
disk is no guarantee for no hard drive failure and it is not possible to install
any clients only new hard drives.
We can’t guarantee to install brand new hard discs. If you have issues with a hard
disc, you can contact us any time and send us logfiles which shows the error. We
are 24/7 available.
Спросили опять, а почему за дополнительную оплату нельзя получить новые диски. Я даже добавил, что в таком случае чрезмерного удивления придётся на форумах трубить. Но немцы не сдались:
With this threat, we come no further into this matter.
Дальнейшие вопросы по этой теме остались без ответа со стороны суппорта.
О RAID от 3ware много плохого писалось. На форумах Seagate народ кричит о проблемах с прошивками и модель в линейке Hetzner также не ок.
Сейчас, в силу того что у нас другие сервера на Hetzner — сразу спрыгнуть не получится.
Сделали пока поправку, что платить каждый месяц 25 евро (+НДС) за RAID controller (Hetzner FlexiPack + 2-Port Hardware RAID-Controll) которые палят диски — смысла нет. Вернулись к софтверному рейду.
Reallocated_Sector_Ct, на момент установки их уже 32, может и не крайне критично, но сам факт, что reallocated sectors уже появились и диск отработал более года, а Hetzner в упор отказывает его менять и это после второго «падения» системы за менее чем год — настораживает.
Может быть мы что-то не так понимаем в нашей команде? Но ситуация выглядит приблизительно вот так:
Приходите вы к Тойоте, покупаете машину, выбрали, посмотрели на тормоза. Тормоза уже старые, поношенные, могут дать сбой.
Спрашиваете: «а можно новые тормоза, даже за дополнительную сумму?»
А в ответ: «а у нас такой опции нет!»
Интересно, какой опыт с Hetzner у других команд? Сталкивался ли кто с похожей ситуацией у других хостеров? Что бы Вы требовали от компании в такой ситуации?
Как быть? Какие хорошие альтернативы посоветуете (кроме AWS — наш проект, что сейчас на Hetzner вертится, пока Amazon бюджетно не потянет)?
Через сутки и повторного напоминания начальник суппорта ответил, и удолетворил наше желание на новый диск. Правда за 69 евро. Но ответ был дружеский. Только позно немножко. Систему уже запустили. Диск в software RAID менять — downtime.
Возможно давление с Хабра сказалось на разум Рене.
Спасибо всем за очень полезные советы.
Думаю прислушаемся к noonesshadow и achekalin, подсобираем денег и пойдём на апгрейд. Возможно в тучи.
Организация своего хоста виртуализации на Hetzner
Proxmox Virtual Environment (Proxmox VE) — система виртуализации с открытым исходным кодом, основанная на Debian GNU/Linux. Разрабатывается австрийской фирмой Proxmox Server Solutions GmbH, спонсируемой Internet Foundation Austria.
… и, надо сказать, очень приятная в обслуживании и эксплуатации система.
Я работаю со своими клиентами (в большинстве случаев студии веб-дизайна, или standalone-клиенты) уже около 5 лет. Все мои клиенты используют услуги немецкого хостера Hetzner. Можно долго рассуждать о качестве предоставляемых ими услуг, качестве железа в их серверах — но факт остается фактом: предложения Hetzner в сегменте root-серверов вне конкуренции по соотношению цена/качество.
Справка: по состоянию на время написания статьи стоимость ежемесячной аренды сервера линейки EX60 (Intel Core i7-920, 48 GB DDR3 RAM,2 x 2 TB SATA 3 Gb/s 7200 rpm HDD ) составляет всего 59€ в месяц. Согласитесь, совсем недорого.
В этой статье я хотел бы описать небольшой howto по установке на root-сервер системы виртуализации proxmox, чтобы просто показать, насколько это легко и доступно. Не буду описывать варианты кластеризации системы из 2-х и более серверов (возможно, сделаю это в следующей статье, если сообществу будет интересно), а распишу самый простой вариант.
Итак, прежде всего нам необходим собственно сам сервер. Я рекомендую EX60, поскольку он недорог, производителен и не имеет такой неприятной особенности как one-time setup fee (будьте бдительны при заказе других моделей!)
Мы заказали сервер. Отлично, ждем пока нам его установят, а как на почту придет заветное письмо, приступаем непосредственно к процессу. Стоит сказать, что для целей виртуализации нам потребуются дополнительные IP адреса. Можно приобрести их до 3 штук по отдельности, либо купить сразу подсеть (требует дополнительного пакета услуг FlexiPack, 15 евро в месяц + стоимость аренды подсети). Для этого заходим в панель управления сервером robot.your-server.de и, собственно, на вкладке IPs производим заказ. Обязательно укажите Purpose of use!
В случае заказа нескольких IP адресов, повторяем по вкусу.
Теперь нам нужно загрузить сервер в recovery mode. Для этого переходим на вкладку Rescue, выбираем Operating system Linux, Architecture 64 bit и смело жмем на Activate rescue system.
Записываем пароль, что предложит нам система
И перезагружаем сервер:
Логинимся на сервер с записанным ранее паролем, и выполняем следующие команды:
То есть меняем пароль на более нам удобный, и запускаем процесс установки.
PART /boot ext3 512M
PART lvm vg0 all
LV vg0 root / ext4 20G
LV vg0 swap swap swap 8G
Жмем F10, сохраняя внесенные изменения и соглашаемся со страшным предупреждением, что данные на дисках будут потеряны
Когда чашка кофе выпита, и по вашему телу пробегает приятная теплая волна, скорее всего установка нашего сервера уже завершена. Все что нам осталось — это перезагрузиться, введя в консоли
Загружаем наш свежеустановленный сервер, и переходим по адресу:
Логинимся под учетной записью root и паролем, который вы поменяли перед установкой. Поменяли ведь? Если нет — то используем тот, что нам выдал hetzner =)
Собственно, как генерировать MAC для заказанного IP.
Заходим в панель управления сервером robot.your-server.de, переходим на вкладку IPs и нажимаем на Request separate MAC address. Получаем MAC, вбиваем в настройки виртуальной машины, и получаем на ней IP по DHCP.
Вроде как все. Можно налить себе еще одну чашку кофе и заслуженно передохнуть.
Спасибо за внимание, надеюсь, этот материал будет полезен.
NS серверы для VPS в Hetzner?
Сервер работает, по ip. А как привязать к нему существующее доменное имя — с наскока не понял.
В контрольной панели (https://robot.your-server.de/) прописал в Reverse DNS Entry название хоста, а в ns-серверы найденные в интернете ns1.your-server.de и ns.second-ns.com (откуда я их взял-другой вопрос и в правильности их я не уверен) но nic сказал, что пока что SOA-записи на них не обнаружены.
Возможно, это произошло из-за того, что в nic адреса были прописаны на пару минут раньше, чем Reverse DNS Entry и проблема уйдет при следующей проверке через 3 часа.
Как все-таки привязать адрес-то?
> Интерфейс не оч дружественный, предлагает просто отредактировать кусок конфига BIND для своей зоны.
Можно подробнее как пользоваться этим интерфейсом? что редактировать то есть?
Такс, с доменными именами разобрались. а как сделать поддомен? В апаче создал виртуальный сервер, в роботе добавил строчку
chat IN A XX.XXX.XX.XXX
А оно все равно не резолвится
hydrogen.ns.hetzner.com
oxygen.ns.hetzner.com
helium.ns.hetzner.de
Для привязки вашего домена к Hetzner нужно:
Hetzner dedicated или в поисках дешевого хостинга
3-4кВт в месяц (100-150Вт будет кушать железо), и это обойдется в 350-400 руб (у меня газовая плита).
Прибавим сюда хороший канал+ип, и имеем порядка 750 рублей (и это без резервного!).
Итого около 1000 рублей в месяц и еще порядка 8000 рублей уйдет разово на покупку компонентов, которые могут сойти за «файлопомойку» + UPS (>=2000 р) и мы видим что самостоятельно хостить «пару сайтов и почту» становится напряжных делом.
Кто-то предложит окупить это размещением проектов — но кто согласится платить на хостинг, которые висит дай-то бог на 30 мегабитах, при этом имеет шансы быть в offline из-за того, что кто-то перерезал провод в щитке, или у провайдера «опять сгорел dns».
Начал поиск я с матушки России и нашел хостинг от brim.ru (через Хабропоиск), пообщался с суппортом, и предлагаемые условия, мягко говоря, маловаты стандартны.
6. Память (базовые 256Мб) выделяется на
аккаунт (ядро, службы, приложения).
Расширение возможно — стоимость услуги:
100 руб/мес за 64Мб
7. Аккаунт существует на RAID 1 массиве.
Бэкапирование данных и/или образа
аккаунта не производится.
цена 500 рублей в месяц, бекапы они не делают + есть ratio на трафик, то есть свои же бекапы себе же и будут портить жизнь (просто скачивая их) и в 256 мегабайтах Java не развернутся, как не толкайся (хотя я уверен, что мне напишут как выжать максимум из этого объема памяти, но для почты+jsp+php+ftp+DB это несерьезно).
Смотрим шире
Потолкавшись на скудном рынке с более заоблачными ценами я был заинтригован уймой предложений от 1.5$ в месяц и выше. Вышел на mochahost.com (не заметить трудно, ибо гугл пиарит его при любом запросе видаjava hosting), который за 7 долларов готовый был предложить мне золотые горы, sftp и tomcat, безлимитный траффик и такое же место.
Что я могу сказать о них… там есть только задержка при коннекте на сервер, жутные лаги всего динамического, включая cPanel и ужасную техподдержку. Java на тарифе с Java они включать только по заявке в суппорт, активация аккаунта занимает 6+ часов. Возможно кому-то повезет с ними больше… если жить рядом с ДЦ… или вроде того.
Единственное их предназначение — это хостить почту. На минимальном тарифе можно обслуживать 1 домен и на нем почтовые аккаунты и всего за «доллар-девяносто-пять».
Пободавшить с суппортом (да-да-да! я в них верил, вернее в те 20$ которые там оставил) sftp так и не дали (всучили SSL), обработка JSP занимала целую вечность (секунда реакции, причем не в первый раз, а уже после того, как томкат ее «сжевал», JSP использует net.Socket).
Они ближе чем мы думали..
И я вернулся снова на темную дорожку поиска хостера. Яндекс вывел меня на разные русские ресурсы (Хабру в том числе), Гугл на зарубежные, но так же я вышел на VDS хостинг, и первое название что я увидел это было Hetzner. Прочитав про него статьи, так же прочитав их Вики, просмотрев как пользователи здешнего портала без особых проблем ставили туда ФриБСД или любой образ из installimage я ими не на шутку заинтересовался.
Для начала заказал себе план VQ12, 1Гб памяти, 40 Гб места, линукс на выбор (и виндовс тоже) и 2 Тб траффика на 100 мегабитах.
Взяв уже готовый из коробки debian6@32, я почувствовал какова пропасть межну shared хостингом и (виртуальная машина, но все таки..) VDS. Поставил там nginx+tomcat+MySQL и начал радоваться жизни и всего за 12.9евро-19% = 10.84 евро (так как я русский, я VAT не плачу).
Далее были Dovecot+Postfix+sasl, сертификаты, база пользователей в MySQL, письма летять, логи пишутся, порты закрыты, ssh уехал с 22… Все было замечательно. И тарифный план
К тому же в тот момент я определился четко, что я буду размещать, и места в 40 Гб оказалось недостаточно (вернее через месяц-два такой момент мог возникнуть,
30 Гб это почтовые аккаунты).
Все как у «взлослых»
В заключении хочу сообщить, что я крайне не согласен с теми авторами, кто говорит (миф#5), что хостинг на магазинном железе это надувательство и детский сад. От себя хочу заметить, что множество задач успешно решаются на простом процессоре с 2-4Мб кеша и 2-4-мя адрами, и за мощности xeon’а, и за ECC, и за шустрый SAS, если их отсутствие не критично для проекта — переплачивать не надо.
Сервер VQ12 был готов за полчаса, сервер X3 был готов за час с небольшим.
Тестирование производительности
Ниже приклепляю небольшой тест производительности этих двух тарифных планов (увы, как не гуглил хабрил, никто тестов по этому немцу не выкладывал).
/dev/sda:
Timing cached reads: 16732 MB in 2.00 seconds = 8375.75 MB/sec
Timing buffered disk reads: 482 MB in 3.01 seconds = 160.37 MB/sec
===========
—> time echo ‘2 1000000 ^ p’|dc
real 0m5.592s
user 0m5.056s
sys 0m0.024s
===========
—> wget mirror.yandex.ru/debian-cd/6.0.0-live/i386/iso-hybrid/debian-live-6.0.0-i386-standard.iso
7-Zip 9.04 beta Copyright (c) 1999-2009 Igor Pavlov 2009-05-30
p7zip Version 9.04 (locale=en_US.UTF-8,Utf16=on,HugeFiles=on,1 CPU)
Scanning
Creating archive test.7z
real 2m54.989s
user 2m44.754s
sys 0m8.989s
===========
—> taskset 0xFFFFFFFF 7z b
7-Zip 9.04 beta Copyright (c) 1999-2009 Igor Pavlov 2009-05-30
p7zip Version 9.04 (locale=en_US.UTF-8,Utf16=on,HugeFiles=on,1 CPU)
RAM size: 1010 MB, # CPU hardware threads: 1
RAM usage: 419 MB, # Benchmark threads: 1
Dict Compressing | Decompressing
Speed Usage R/U Rating | Speed Usage R/U Rating
KB/s % MIPS MIPS | KB/s % MIPS MIPS
и X3 тариф
/dev/md4:
Timing cached reads: 2148 MB in 2.00 seconds = 1074.50 MB/sec
Timing buffered disk reads: 220 MB in 3.02 seconds = 72.82 MB/sec
===========
—> time taskset 0xFFFFFFFF echo ‘2 1000000 ^ p’|dc
real 0m7.430s
user 0m6.660s
sys 0m0.036s
===========
7-Zip 9.04 beta Copyright (c) 1999-2009 Igor Pavlov 2009-05-30
p7zip Version 9.04 (locale=en_US.UTF-8,Utf16=on,HugeFiles=on,2 CPUs)
Scanning
Creating archive test.7z
real 1m17.403s
user 2m29.109s
sys 0m1.452s
===========
—> taskset 0xFFFFFFFF 7z b
7-Zip 9.04 beta Copyright (c) 1999-2009 Igor Pavlov 2009-05-30
p7zip Version 9.04 (locale=en_US.UTF-8,Utf16=on,HugeFiles=on,2 CPUs)
RAM size: 1993 MB, # CPU hardware threads: 2
RAM usage: 425 MB, # Benchmark threads: 2
Dict Compressing | Decompressing
Speed Usage R/U Rating | Speed Usage R/U Rating
KB/s % MIPS MIPS | KB/s % MIPS MIPS
Дополнение:
60-65 и хороший канал с Россией при смене тарифа и сервера): your VQ-server is in DC12, your X3 is in DC13.
It is the same location.
Hetzner, сэкономить адреса IPv4 для виртуальных машин XenServer
Небольшой лайфхак, которым можно воспользоваться, если вы хотите сэкономить немного IPv4 адресов на свои виртуальные машины в XenServer(не принципиально).
После того, как Вы установили на сервере Hetzner’a XenServer или иную ОС, Вы получаете 1 IP адрес, маску и шлюз. Поскольку для виртуальных машин необходимы отдельные адреса, у Вас есть возможность их заказать:
Для примера нам выделили 46.4.205.64/29. Как использовать все 8 адресов? Об этом ниже.
На XenCenter создаем дополнительную сеть:
Назначаем dom0 в этой подсети адрес из диапазона приватных адресов (в данном случае 172.16.1.1/24):
При создании новой VM в процессе настройки указываем, чтобы сетью выступала вновь созданная сеть Network 1:
Установка ОС в виртуальной машине может вызвать некоторые неудобства, если она будет нуждаться в интернете. Поэтому для Linux-дистрибутивов рекомендуется использовать полные образы, а не netinstall. Однако всегда для таких нужд можно заказать один дополнительный IP, и на момент установки использовать его (соответственно через сеть Network 0).
В процессе установки ОС при настройке сети указывайте IP из вышеупомянутого диапазона (в данном случае 172.16.1.0/24), к примеру 172.16.1.10/24 без указания шлюза.
После установки давайте назначим нашем виртуальной машине адрес 46.4.205.64:
— в настройках сетевого интерфейса (к примеру в debian):
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet static
address 172.16.1.10
netmask 255.255.255.0
auto eth0:0
iface eth0:0 inet static
address 46.4.205.64
netmask 255.255.255.255
— и пропишем маршрут в автозагрузке:
не забыв #chmod +x /etc/network/if-up.d/route
С этим, настройка сети виртуальной машины закончена. Осталось подкорректировать маршрутизацию на dom0.
Определяем uuid нашей сети (Network 1):
Добавляем статический маршрут на нашу подсеть:
#xe network-param-set uuid= uuid other-config:static-routes=46.4.205.64/29/172.16.1.1
Обмен пакетами с 46.4.205.64 по с 32 байтами данных:
Ответ от 46.4.205.64: число байт=32 время=40мс TTL=56
Ответ от 46.4.205.64: число байт=32 время=40мс TTL=56
Ответ от 46.4.205.64: число байт=32 время=40мс TTL=56
Ответ от 46.4.205.64: число байт=32 время=40мс TTL=56
Статистика Ping для 46.4.205.64:
Пакетов: отправлено = 4, получено = 4, потеряно = 0
(0% потерь)
Приблизительное время приема-передачи в мс:
Минимальное = 40мсек, Максимальное = 40 мсек, Среднее = 40 мсек
Трассировка маршрута к static.60.173.4.46.clients.your-server.de [46.4.173.60]
с максимальным числом прыжков 30:
Решение не привязано к конкретной платформе маршрутизации и ОС в виртуальных машинах, просто под рукой был такой набор ПО. Единственный вопрос — как это реализовать с виртуальной машиной Windows. Возможно в комментариях подскажут.