Новости одной строкой:
Мы добавили историю вывода на экран. Теперь, «уползший» с экрана текст доступен некоторое время для просмотра. Перемещаться по истории можно кнопками Shft-PgUp, Shift-PgDown. Размер буфера выбран так, чтобы на загрузившейся машине можно было увидеть сообщения до перезагрузки. В дальнейшем появятся ещё дополнения к этой истории. Традиционно, реализация этого функционала — в нашем репозитории на гитхабе. На картинке — история загрузки машины. Виден вывод машины до перезагрузки и первые шаги новой загрузки.
Кстати, раз мы заговорили о консоли, вот несколько интересных возможностей консоли, о которых, возможно, не все знают.
Управлять доступностью можно с помощью
Есть возможность и более тонкого управления тем, какие операции разрешены, они описаны в документации (например, у centos тут, плюс описание в
Многие забывают выйти из консоли. В принципе, консоль у нас доступна только ограниченному кругу лиц (см. ниже), но, всё равно, «не аккуратненько».
Управлять этим можно с помощью переменной среды окружения TMOUT. Она задаётся в секундах. Единократно это делается так: TMOUT=35 (enter) и через 35 секунд неактивности bash завершит сессию.
Чтобы это работало всегда — пропишите переменную в профиль (.bash_profile).
До определённого времени консоль была доступна только пользователю и разработчикам.
Поскольку в службе поддержки возникала необходимость увидеть, что находится на консоли клиента, было решено разрешить ей смотреть консоль (без права ввода).
В настоящий момент права выглядят так:
Пользователь — консоль виртуальных машин доступна для просмотра и ввода текста. В пользовательский журнал событий записывается время открытия консоли.
Служба поддержки — консоль доступна только для просмотра. Открытие консоли для просмотра фиксируется в служебном журнале.
Разработчики — консоль доступна только для чтения и записи. Открытие консоли фиксируется в служебном журнале.
Администраторы — штатный доступ как у разработчиков. Технически, есть нештатный доступ в потрохах Xen Cloud Platform, однако, этот доступ нарушает работу обычной консоли.
Если вы не хотите, чтобы консоль позволяла логин руту, просто уберите строчки xvc0 и hvc0 из файла /etc/securetty, если вы хотите, чтобы там вообще ничего, кроме лога начальной загрузки ядра не появлялось, удалите соответствующую строчку из /etc/inittab (с xvc0/hvc0). В Ubuntu это не строчка в файле inittab, а файл в каталоге /etc/init/. Учтите, если вы «сломаете» и консоль, и ssh, то единственным методом починить будет переустановка операционной системы.
Пришло время их отменить.
Не совсем, конечно. Технические ограничения остаются.
Но для 64-битных машин лимиты существенно снижены. (Хотя, что вы будете делать в 64-битной центос с 160Мб памяти я не знаю — но, хозяин барин...). Учтите, что на минимальном объёме (128Мб) очень сильно возрастает дисковая активность (из-за того, что на файловый кеш памяти не хватает).
- поддержка скроллинга в консоли облачных машин
- снятие лимитов памяти в шаблонах
- флаг 'запретить операции' для виртуальных машин
Консоль
Скроллинг
Мы добавили историю вывода на экран. Теперь, «уползший» с экрана текст доступен некоторое время для просмотра. Перемещаться по истории можно кнопками Shft-PgUp, Shift-PgDown. Размер буфера выбран так, чтобы на загрузившейся машине можно было увидеть сообщения до перезагрузки. В дальнейшем появятся ещё дополнения к этой истории. Традиционно, реализация этого функционала — в нашем репозитории на гитхабе. На картинке — история загрузки машины. Виден вывод машины до перезагрузки и первые шаги новой загрузки.
Кстати, раз мы заговорили о консоли, вот несколько интересных возможностей консоли, о которых, возможно, не все знают.
Alt-SysRq
У линукса есть такая волшебная комбинация кнопок — Alt-SysRq, позволяющая сделать много интересных вещей — аварийно скинуть дисковый кеш, посмотреть, что исполняется и т.д. Поскольку пользователям linux-машин трудно нажимать комбинацию Alt-SysRq (она перехватывается локальным линуксом), то для неё в xenconsoled предусмотрена комбинация Ctrl-O. Таким образом, Ctrl-O s делает аварийную синхронизацию, Ctrl-O t выдаёт страшный, но безопасный trace текущих процессов. И т.д.Управлять доступностью можно с помощью
echo 0 > /proc/sys/kernel/sysrq
— выключитьecho 1 > /proc/sys/kernel/sysrq
— включитьЕсть возможность и более тонкого управления тем, какие операции разрешены, они описаны в документации (например, у centos тут, плюс описание в
man proc
).Автоматическое завершение сессии при неактивности
Многие забывают выйти из консоли. В принципе, консоль у нас доступна только ограниченному кругу лиц (см. ниже), но, всё равно, «не аккуратненько».
Управлять этим можно с помощью переменной среды окружения TMOUT. Она задаётся в секундах. Единократно это делается так: TMOUT=35 (enter) и через 35 секунд неактивности bash завершит сессию.
Чтобы это работало всегда — пропишите переменную в профиль (.bash_profile).
Кто может увидеть вашу консоль?
До определённого времени консоль была доступна только пользователю и разработчикам.
Поскольку в службе поддержки возникала необходимость увидеть, что находится на консоли клиента, было решено разрешить ей смотреть консоль (без права ввода).
В настоящий момент права выглядят так:
Пользователь — консоль виртуальных машин доступна для просмотра и ввода текста. В пользовательский журнал событий записывается время открытия консоли.
Служба поддержки — консоль доступна только для просмотра. Открытие консоли для просмотра фиксируется в служебном журнале.
Разработчики — консоль доступна только для чтения и записи. Открытие консоли фиксируется в служебном журнале.
Администраторы — штатный доступ как у разработчиков. Технически, есть нештатный доступ в потрохах Xen Cloud Platform, однако, этот доступ нарушает работу обычной консоли.
Выключение консоли
Если вы не хотите, чтобы консоль позволяла логин руту, просто уберите строчки xvc0 и hvc0 из файла /etc/securetty, если вы хотите, чтобы там вообще ничего, кроме лога начальной загрузки ядра не появлялось, удалите соответствующую строчку из /etc/inittab (с xvc0/hvc0). В Ubuntu это не строчка в файле inittab, а файл в каталоге /etc/init/. Учтите, если вы «сломаете» и консоль, и ssh, то единственным методом починить будет переустановка операционной системы.
Снижение нижней границы памяти
Давным-давно, когда облако только начинало работать, в шаблонах были прописаны лимиты. С тех пор MOD повзрослел на три мажорные версии, у нас поменялись алгоритмы управления памятью и добавилась возможность контролировать её из пользовательского интерфейса. Однако, лимиты сохранялись.Пришло время их отменить.
Не совсем, конечно. Технические ограничения остаются.
Но для 64-битных машин лимиты существенно снижены. (Хотя, что вы будете делать в 64-битной центос с 160Мб памяти я не знаю — но, хозяин барин...). Учтите, что на минимальном объёме (128Мб) очень сильно возрастает дисковая активность (из-за того, что на файловый кеш памяти не хватает).