LINUX.ORG.RU
решено ФорумAdmin

зачем делают так чтобы Ядро виртуального сервера грузилось через Ж?

 , , ,


1

3

добрый вечер, друзья!

хочу спросить [или просто я решил поныть? в этом случае тему нужно перенести отюда в другое место!] — такой вопрос — почему люди делают так чтобы ядро виртуального сервера грузилось через жоп^Wхитрый механизм?

история такая: я не специалист в этих всех компьютерных и администраторских науках — и решил поизучать чуть чуть на практике.. что из себя представляют эти виртуальные сервера с точки зрения их потребителя..

смотрю — вроде бы Digitalocean рекламируются довольно шибко. ну думаю — дайка посмотрю его.. [на самом деле — всё равно было что именно смотреть, ну решил Digitalocean так как он известный]

там KVM.. [думаю — KVM вроде бы модный и молодёжный.. это хорошо! в отличии от всяких OpenVZ, которые даже и виртуалкой тяжело называть...]

и что оказалось в итоге:

киборги из Digitalocean — сделали мне виртуалку (быстро! меньше чем за минуту)..

я залогинился в неё.. а там *внимание(!)-шок-контент*:

$ cat /proc/cmdline
root=LABEL=DOROOT ro

(то есть — это совершенно вообще ни капельки — не совпадает с конфигом syslinux или grub)

и ни какой связи каталога /boot/ — с реальным процессом загрузки ядра — НЕТ!

можно вообще удалять (я так и сделал!) файл /boot/vmlinuz-linux (ды и хоть даже весь каталог /boot/) — и всё равно загрузка произойдёт так как кадумано хостином..

при чём версия загруженного ядра — совершенно не совпадает с версией модулей из каталога /lib/modules/ ..

разумеетя iptables нормально работать не может в таких условиях. ды и мне самому смотреть на это тяжело — слёзы наворачиваются на глаза! кровавые..

ну и вот, друзья, более умудрённые опытом чем я — расскажите, пожалуйста:

почему нельзя было сделать обычную загрузку через EFI (если ты модный!) или через традиционный нулевой сектор виртуального диска (если ты любишь ретро!)?

чего ради они сделали такой изврат? а может это не баг а фишка? [но что тогда тут такого фишечного?]

все ли KVM-хостинги так поступают? или это только у Digitalocean?

заранее спасибо.. за совет или\и за сочуствие.. :-)

★★★★★

Последнее исправление: user_id_68054 (всего исправлений: 13)

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

andrew667 ★★★★★
()
Последнее исправление: andrew667 (всего исправлений: 1)
Ответ на: комментарий от andrew667

Ядро можно загружать не только с виртуального диска...

можно, но зачем? :-) какав должен быть мотив для того чтобы нарушить целостность чужой операционной системы? :)

[это ведь продают за деньги! а в итоге клиенты VPS-хостинга даже не могут самостоятельно обновить ядро в случае внезапной критической уязвимости].

Это применимо и к самому обычному не виртуальному компу.

в каком смысле?

если перетянуть эту концепцию на реальный (не виртуальный) мир — то мы получим следущую картину, как я понимаю:

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

верно? то есть если будет так — то кто-то мне может сказать что это норм, а не изврат? :-)

а вместо того чтобы обновить файлы с ядром (и модулями) — я должен буду обновлять прошивку BIOS? :-)

user_id_68054 ★★★★★
() автор топика
Последнее исправление: user_id_68054 (всего исправлений: 1)

дык kvm замечательно умеет грузить ядро самостоятельно. Получается неубиваемое ядро ( чтоб всякие товарисчи случайно не удалали).

А нафига тебе нужен vmlinuz и /boot? Ядро уже загружено и этот файл и каталог нафиг не нужен.

cmdline нормальная. Рут указан по метке диска. blkid -l ROOT скорее всего покажет кто настоящий рут. Там скорее всего самодостаточное ядро, которое грузится без initrd.

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

Это _виртуальная_ машина! Она отличается от реальной машины.

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

PS думашь они тебе отдельный диск выделили ? :)

vel ★★★★★
()
Последнее исправление: vel (всего исправлений: 1)

чуваак, да, это реально боль. амазон еще таким страдает. нормальные хостинги так не делают.

val-amart ★★★★★
()
Ответ на: комментарий от vel

А вот с модулями - странно, что они не той версии, ну так там ТП есть, у них уточнить.

чего ж тут странного — я сам первым делом обновил ядро и модули :-)

вот только после перезагрузки — подгрузилось то НЕ моё ядро :-) — в результате ядро и модули стали разных версий...

Там скорее всего самодостаточное ядро, которое грузится без initrd.

такой самодостаточное что даже свежая версия iptables не работает...

(оно и ясно — tables ведь хочет новое ядро и хочет чтобы модули совпадали бы с версией ядра :))

и я даже не удивлюсь если окажется какая-то-там-нибудь старая версия TCP-стека без TCP-FAST-OPEN..

там ТП есть, у них уточнить

у опытных людей — более интереснее уточнить — какова вообще вероятность что очередной KVM-хостинг опять не разрешит использовать своё ядро или\и свой bootloader?

а дёргать техподдержку по каждому своему капризу как-то не хочется.. [а вот подёргать LOR — да(!) тут не стыдно :), всегда можно]

Получается неубиваемое ядро ( чтоб всякие товарисчи случайно не удалали).

смешная фраза... :-) учитывая сколькими разными способами можно убить операционную систему — думаю убийство ядра — далеко не самый популярный способ убийства ОС :-)

Это _виртуальная_ машина! Она отличается от реальной машины.

ну virtio я понимаю, да — нужно!.. но в остальном мне кажется не круто всякие эти различия :-) , в случае когда они вредят..

user_id_68054 ★★★★★
() автор топика
Ответ на: комментарий от user_id_68054

можно, но зачем?

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

в каком смысле?

ядро можно грузить не только с раздела на локальном винте

мне BIOS подсовывает уже загруженное ядро

чего? ты что употреблял?

andrew667 ★★★★★
()
Ответ на: комментарий от val-amart

нормальные хостинги так не делают.

спасибо, обнадёжил.. :-)

даже если это не так — всё равно теперь у меня уже будет оставаться юношеская надежда на то что всё не так плохо... :-)

user_id_68054 ★★★★★
() автор топика
Ответ на: комментарий от andrew667

чего? ты что употреблял?

ну coreboot какой-нибудь маргинальный.. :)

загружающий ядро из впаянной flash-памяти :-)

user_id_68054 ★★★★★
() автор топика
Ответ на: комментарий от router

> там KVM

Уверен? Точно не XEN?

конечно не уверен.

так написанно на сайте — это всё что я знаю :-)

user_id_68054 ★★★★★
() автор топика
Последнее исправление: user_id_68054 (всего исправлений: 1)
Ответ на: комментарий от user_id_68054

ТП для того и нужен, чтоб задавать им вопросы :)

Если их ядро с kexec, то можешь попробовать загрузить свое :) Я бы на их месте такое не допускал. Это vps а не дедик. И ядра у них скорее всего патченные.

Похоже ты никогда не пользовался kvm/qemu.

vel ★★★★★
()

Либо ты промахнулся с выбором, либо что-то недоразглядел. Я пользовал квмные виртуалки у netangels и edis. В обоих случаях грузится через MBR, внутрь можно положить что угодно и как угодно.

const86 ★★★★★
()
Ответ на: комментарий от user_id_68054

https://www.youtube.com/watch?v=XrCtwO-uub4 :-)

Вы хоть понимаете, что вы поехавшие?

Вас к этому говнохостингу наручниками приковали, что ли? Что побуждает его юзать? Без боли нет удовольствия? Кругом миллион KVM-хостингов, один другого лучше и дешевле - нет, будем жрать говно и страдать.

kot_otbelivatel
()
Ответ на: комментарий от user_id_68054

Иди-ка смотри как загружается комьютер. Биос обращается к устройству - сетевая карта/cdrom/hdd, потом цепляется загрузчик, который подгружает ядро. Но никак у тебя не будет так что загружено ядро неким волшебным способом, а после этого проходится POST и стартует bios

andrew667 ★★★★★
()
Ответ на: комментарий от vel

Похоже ты никогда не пользовался kvm/qemu.

так и есть... :-)

ну точнее может пару раз запускал qemu, не более того..

Если их ядро с kexec, то можешь попробовать загрузить свое :)

дельный совет — да, надо..! (остаётся продумать — как бы это сделать с наименьшим вредом..)

И ядра у них скорее всего патченные.

для повышенной производительности под что-то специфичное?

(или какая может быть цель патчей?)

user_id_68054 ★★★★★
() автор топика
Ответ на: комментарий от andrew667

Иди-ка смотри как загружается комьютер. Биос обращается к устройству - сетевая карта/cdrom/hdd, потом цепляется загрузчик, который подгружает ядро.

ну — я конечно всегда рад лишний раз изучить как загружается i386-pc .. но мало ли какие могут напридумывать гипотетические виды компьютеров! :) ..

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

рад слышать это! :-)

потом что если честно то иногда я не так оптимистичен! и бывает такое (в писсимистичные пики настроения) что я вполне допускаю что очередной производитель компьютера — придумает свою «супер-крутую» схему загрузки...[глядя например на то что сейчас творится с сотовыми телефонами]

user_id_68054 ★★★★★
() автор топика
Ответ на: комментарий от kot_otbelivatel

Вас к этому говнохостингу наручниками приковали, что ли? Что побуждает его юзать? Без боли нет удовольствия? Кругом миллион KVM-хостингов, один другого лучше и дешевле - нет, будем жрать говно и страдать.

в Google Adsense этот хостинг столько раз показали — что создаётся впечатление будто бы либо он один единственный, либо он самый классный...

но теперь и я тоже чувствую тут подвох..

user_id_68054 ★★★★★
() автор топика
Ответ на: комментарий от const86

Я пользовал квмные виртуалки у netangels и edis. В обоих случаях грузится через MBR, внутрь можно положить что угодно и как угодно.

я правильно нагуглил?

http://www.netangels.ru/

http://www.edis.at/en/

user_id_68054 ★★★★★
() автор топика
Ответ на: комментарий от anonymous

чем именно «подобный digital ocean»?

лично мне больше всего подходят joyent как iaas, rackspace как openstack, heroku как paas, ramhost для личной kvm'ки в лондоне, arp networks в us.

val-amart ★★★★★
()
Ответ на: комментарий от val-amart

ramhost для личной kvm'ки в лондоне

а в ramhost — прям чёрным по белому написано на главной странице — «KVM VPS's allow you to run your own custom kernel.»

user_id_68054 ★★★★★
() автор топика
Ответ на: комментарий от user_id_68054

да блин, у всех так, это только гребанный цифроокеан выйо. вообще не понимаю чем они всем так понравились.

val-amart ★★★★★
()
Ответ на: комментарий от user_id_68054

я у них кстати вообще openbsd держу — благо kvm же, что хочешь то ставь.

val-amart ★★★★★
()
Ответ на: комментарий от val-amart

цифроокеан ... чем они всем так понравились.

цены, не? и много регионов доступно.

Bers666 ★★★★★
()
Ответ на: комментарий от user_id_68054

у меня сервера на digitalocean. Таки юзаю kexec чтоб грузить дефолтные ядра убунточки. Вот так: https://github.com/simple10/guides/blob/master/digitalocean.md , далее поиск по kexec.
Фишка в том, что их загрузчик не парсит даже grub.conf, поэтому grub внутри виртуалки бесполезен.

Bers666 ★★★★★
()

На do все просто, хотя по начало может показаться и дебильно.
Ты обновляешь ядро, смотришь на какую версию и запоминаешь. Идешь в панельку и там выбираешь данную версию и делаешь poweroff, затем делаешь boot в панельке. К слову в панельке ядра появляются сразу же.
Желательно, только не путать версию дистрибутива, с более высокой с той же самой версией ядра, хотя по идеи последствий от этого быть не должно.
Если ты удалишь старую версию ядра, обновишься, но не поменяешь версию на более новую в панельке, то загрузится старая версия (которая в данный момент выбрана в панельке), iptables работать не будет. Думаю, ты сам понимаешь.
Что хочу заметить, то версии ядра от trusty у них в панельке нет, но врядли тебе оно будет нужно.

anonymous_sama ★★★★★
()

Та же фигня была на selectel. Когда нашли какую-то дырку в ядре я попросил саппорт обновить ядро, но без толку.

true_admin ★★★★★
()
Ответ на: комментарий от val-amart

Реклама, красивая панель, неплохая политика и самое главное купоны. Ах да, еще и партнерская программа, что позволяет некоторым увертливым личностям совсем бесплатно пользоваться. Ну и конечно SSD, если сделать на нем swap файл большего размера, а памяти много надо, то совсем бюджетно получается. Самое забавное, когда дописал до конца, почувствовал, что как-будто читаю пост менеджера do.

anonymous_sama ★★★★★
()
Последнее исправление: anonymous_sama (всего исправлений: 3)
Ответ на: комментарий от anonymous_sama

Панель тоже вполне удобная, позволяет задеплоить виртуалки в нескольких странах в пару кликов, + безлимитный private networking между виртуалками в одном дц. (правда, там вроде были какие-то ограничения) Из минусов, нормальная производительность была только у 4х ядерной конфигурации.

wakuwaku ★★★★
()
Ответ на: комментарий от Bers666

юзаю kexec чтоб грузить дефолтные ядра убунточки. Вот так: https://github.com/simple10/guides/blob/master/digitalocean.md , далее поиск по kexec.

да, это интересный материал.. даже хорошо, что я всретился с такой проблемой: так это получается интересный и кажется не очень сложный квест. :-)

то есть алгоритм я так понял такой:

1. когда файловая система в замонтированном состоянии — вгружаем в память нужное ядро: ``kexec -l ... ... ...``

2. превращаем состояние операционной системы в почти выключенное.. (главное не допустить повреждение файловых систем)

3. делаем ``kexec -e`` и теперь мы в новом чудном мире :) .

*****

если всё так.. (если я правильно всё понял) — то получается что в systemd (ну допустим у нас systemd:)) для выполнения пунктов {2} и {3} — используется сразу одна команда ``systemctl kexec``..

а выполнение пункта {1} — можно делать либо вручную, либо автоматизировать через service unit.

тогда у меня остаётся только один вопрос:

можно ли выполнять kexec --- много раз подрят, не будут ли возникать ни какие утечки памяти?

то есть [перефразирую вопрос] — с точки зрения оперативной памяти — использование kexec является ли эквивалентно полной перезагрузке?

user_id_68054 ★★★★★
() автор топика
Ответ на: комментарий от anonymous_sama

Самое забавное, когда дописал до конца, почувствовал, что как-будто читаю пост менеджера do.

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

Jurik_Phys ★★★★★
()
Ответ на: комментарий от anonymous_sama

реклама — вот единственная реальная причина. цены так себе, панельки ненужны, но если тебе нужны, неужели ты думаешь только do осилили джаваскрипт и css? ssd это не аргумент, сейчас много где есть, у меня вон сторедж на сане, быстрее локальных ssd. и да, если не хватает озу, дешевле взять еще озу. короче, маркетинг. пройдись по базару, есть масса отличных предложений на любой вкус, и без этих ихних костылей.

val-amart ★★★★★
()
Ответ на: комментарий от Bers666

по ссылке на [Github] — есть инструкция в которой ссылка на [youtube-клип]..

а внутри youtube-клипа — описаны два восихительных(!) костыля для использования kexec (один из костылей совпадает с инструкцией [digitalocean.md])

вобщем вдохновлённый этими костылями — я придумал ещё и третий костыль :) ..:

грузить не только новое ядро — а ещё и новое файловое дерево — через loop-устройство :-)

но придётся повозиться с улучшением соответствующего генерирования initramfs (ведь именно initramfs будет монтировать костыль).

user_id_68054 ★★★★★
() автор топика

пытаюсь вот поиграться с kexec [для начала на localhost].. и так странно

на моём ноутбуке (который может нормально загружаться только через UEFI) — kexec зависает всегда.

а на другом моём компьютере (который может загружаться и в UEFI и в режиме UEFI-CSM) — kexec не зависает ни когда (в обоих режимах)..

user_id_68054 ★★★★★
() автор топика
Последнее исправление: user_id_68054 (всего исправлений: 1)

нормальные хостеры так не делают, да.

tazhate ★★★★★
()
Ответ на: комментарий от val-amart

Каждому по задачам и потребностям и по бюджету. То что очень дешевое, либо нет ssd, либо полиси ужасное, либо просто конторы слишком мутные, чтобы им платить. А так-то да на lowendtalk и дешевле найти можно. Но в чем я убедился, после vps на ssd, пользоваться дешевой vps без ssd, даже с большим бы количеством памяти раза в четыре, я бы не стал. Черт я хочу на них работать, но не техническим писателем ведь...

anonymous_sama ★★★★★
()
Последнее исправление: anonymous_sama (всего исправлений: 1)
Ответ на: комментарий от anonymous_sama

Без купона на 10$ чтоль?

Да, без него. Всё, что нашёл на тот момент, не срабатывало.

А как глубоко в минус может уходить?

Без понятия, но у меня сейчас -3.97$ и я так понял, отключаться оно само не собиралось. Руками удалил "droplet".

Jurik_Phys ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.