Якщо вам в руки потрапляє такий комп’ютер, а поруч з ним стоять треті пентіуми, які в кінці дев’яностих хтось гордо назвав серверами, то виникає бажання всі задачі перенести на нове залізо, а весь той хлам вимкнути, щоб не гудів даремно. Якщо ви одноосібно адмініструєте це все і все воно «живе» на чомусь одному — на Windows'i чи Linux'i, то проблем немає: налаштовуєте всі сервіси на одному комп’ютері і маєте повний фен-шуй. Проте частіше за все зробити таку «купку невеличку» не вдається: або крім вас різні сервіси адмініструють різні інші люди, або ви не хочете, щоб при зламі веб-сервера зловмисники отримали доступ ще й до електронної пошти чи внутрішнього документообігу, або різні сервери виконують однотипні задачі і просто «посваряться» за певні ресурси, або ...причини завжди знайдуться.
Спеціально для цього випадку розумні люди придумали поняття «віртуалізація» і в купі з ним — різного роду віртуальні машини. Деякі дозволяють ізоляцію лише певних ресурсів, інші створюють видимість повністю відокремленого обладнання. І в тих і в інших є свої переваги і недоліки в певних ситуаціях. В моєму випадку — повний зоопарк операційок (різні Windows'и і Linux'и) — найкращим виходом є повна емуляція обладнання, причому бажано реально існуючого.
Варіанти в даному випадку є наcтупні:
Флешки в сервери я не тикаю, а організувати віддалений доступ можна і без RDP, так що VirtualBox — «те що доктор прописав».
Подальші налаштування — наслідок послідовного процесу спроб і помилок, але загалом початкову конфігурацію я вгадав непогано, тому все запустилося досить швидко.
В загальних рисах все виглядає так:
useradd -b /VMS -m -g VMS virtual-host1.your.domain
окрема група для них також дозволить в разі потреби визначити, що маємо справу з користувачем-власником віртуальної машини, а також можна надати якісь права на спільні ресурси, тощо.
В свіжому Debian'і скрипт завантаження в мене врешті-решт вималювався такий: #!/bin/sh
### BEGIN INIT INFO
# Provides: vmachines
# Required-Start: vboxdrv virtualbox networking
# Required-Stop:
# Should-Start:
# Should-Stop:
# X-Start-Before:
# X-Stop-After:
# Default-Start: 2 3 4 5
# Default-Stop:
### END INIT INFO
SCRIPTNAME=/etc/init.d/virtual-machines
#Список всіх інтерфейсів-«мостів» в системі
brlist=`/sbin/brctl show|grep ^br[0-9]|tr "\t" " "|tr -s " "|cut -d " " -f 1`
./lib/lsb/init-functions
do_start()
{
wd=`pwd`
modprobe vboxdrv
modprobe vboxpci
modprobe vboxnetadp
modprobe vboxnetflt
cd /VMS
for vm in * ; do
#дістаємо ідентифікатори користувача
gid=`id -rg ${vm}`
uid=`id -ru ${vm}`
for br in `echo $brlist`; do
#для кожного «моста» створюємо віртуальний відповідник
tunctl -u ${uid} -g ${gid} -t ${br}vm${uid}
#робимо учасником «моста»
brctl addif ${br} ${br}vm${uid}
#і вмикаємо
ip link set ${br}vm${uid} up
done
#тепер можна і машину ввімкнути
su -l ${vm} -c "/usr/bin/VBoxManage startvm VM --type headless"
done
cd "${wd}"
}
do_stop()
{
wd=`pwd`
cd /VMS
for vm in * ; do
#при вимкненні — зберігаємо стан
su -l ${vm} -c "/usr/bin/VBoxManage controlvm VM savestate"
#тут ще був код вимкнення і знищення віртуальних інтерфейсів, але він
#чомусь приводив до зависання процесу вимикання/перезавантаження,
#тому я його викинув «від гріха подалі»
done
cd «${wd}"
#більшість драйверів не вивантажаться через ті ж-таки «підвішані» мережеві
#інтерфейси. З цим би варто поборотися, але наразі може бути і так...
rmmod vboxnetflt
rmmod vboxnetadp
rmmod vboxpci
rmmod vboxdrv
}
case "$1" in
start)
log_action_begin_msg "Starting VMs"
do_start
case "$?" in
0|1) log_action_end_msg 0 ;;
esac
;;
stop)
log_action_begin_msg "Stopping VMs"
do_stop
case "$?" in
0|1) log_action_end_msg 0 ;;
esac
;;
restart|force-reload|status)
;;
*)
echo «Usage: $SCRIPTNAME start|stop" >&2
exit 3
;;
esac
Тепер до цього всього при бажанні можна «докрутити» ще phpvirtualbox, але добре подумайте чи воно вам треба — все-таки зайва можливість для різних йолопів наламати вам дров в системі. Хоча якщо ви цю схему прикрутили на сервер для VPS-хостингу(хостингу віртуальних серверів) — нікуди вам від нього не подітися.
До речі: для VPS-хостингу схема з розділенням користувачів вирішує проблему відсутності розподілу доступу в phpvirtualbox'i.
Як завжди сподіваюся, що це комусь стане в нагоді.
Теорія штука хороша, але без реального застосування — безглузда і непотрібна. Перечитуючи третю частину серії «лікбезів» я зрозумів, що без ілюстрації її реальними прикладами, вона залишиться надто сухою і майже непридатною до використання. Писати просто «в ефір» я ніколи не збирався, тому пропоную декілька конфігурацій, які, сподіваюся, наочно покажуть що і як робиться.
Сьогодні перший день відпустки... Читаю розсилку анекдотів:
Справжня відпустка — це коли ти купляєш шорти і панамку, а не нові шпалери і ламінат.
Звідки вони знають?!!!
Ну от нарешті прийшла черга розповісти що таке протокол TCP/IP четвертої версії. Попередні версії завершили своє існування ще на початку 80-х років минулого століття і інтерес становлять хіба для істориків. Наступні версії... Вони теж є. П'ятої так офіційно ніколи і не вийшло — так планувалося пронумерувати версію з розширеними можливостями передачі мультимедіа, але в результаті розробки в цьому напрямку отримали власні назви ST та ST2, але поки визначалися з їх назвами, то почалася розробка IPv6.
Розібратися в IPv6 можна з допомогою півлітри і здоровенного талмуда з описом (це не я придумав — це я переклав цитату), але наразі така проблема гостро не стоїть.
Є і інші розробки — IPv8, IPv9 та IPv12, але вони наразі не вважаються серйозними проектами (хоча люди, які читали специфікації, кажуть, що той же IPv8 набагато зрозуміліший ніж IPv6).
Але це все лірика — нас цікавить роботяга з тридцятирічним стажем — IPv4.
Все-таки не даремно я колись експериментував з 64бітним Windows'ом — сьогодні мені це все знадобилося. Принесли мені «жертву»: ноутбук Asus A7U з жахливо вторможеною віндою. Від Linux'а народ як завжди морозиться, тому буде на ньому жити чергова інкарнація вінди. 2Гб пам’яті і 64бітний двоядерний Turion були вагомими аргументами, щоб на цей раз спробувати 64бітну версію операційки.
Перенесено з сайту tourpro.com.ua
У зв’язку із постійною зайнятістю Маняка, ніяк не міг написати обіцяний відгук про поїздку нашої компанії у таке улюблене село Космач, а саме про мою подорож додому зі скал Довбуша, на які нас водила наша хазяйка.
Так от, Володька вже писав як ми йшли по дорозі, приколювалися один з одного, але це ще були дрібниці. Дорога назад була куди веселішою. Не знаю як так сталося, але я, Льоша (до речі, родич засновника скал), Volk і Хру поверталися додому окремо від інших.
Абревіатури наших установ, то виявляється ще «дєтскій лєпєт на лужайкє». Значно смішніше дивитися на назви сайтів, які мовою оригіналу ніби і нічого, а от якщо їх починає читати українець...
Ось вам підбірочка для доброго настрою:
Перенесено з сайту tourpro.com.ua
Свірж — колись містечко, а зараз село в Перемишлянському районі, неподалік Бібрки. Нам цікаве тим, що там є замок, в котрому зараз йдуть реставраційні роботи, але кажуть, що за «добровільні пожертви» можна потрапити всередину.
Добратися до Свіржа можна зі Львова, а саме з п’ятої автостанції, що на розі Зеленої та Луганської, автобусом Львів—Перемишляни. Якщо є бажання десь годинку-дві прогулятися — сідайте на будь-що, що їде до Бібрки — з неї до Свіржа «всього нічого» (по гуцульських мірках це навіть не «кільомитр», а «ади гездичьки»)
З історії Свірзького замку нефахівцям відомо лише те, що тут знімали «д’Артаньяна і трьох мушкетерів» — Бітюнський монастир в фільмі це і є Свірзький замок в реалі.
Сьогодні додам ще трохи старих фотографій, але на цей раз трохи більш тематична підбірка ніж минула — це фото нашої університетської групи. Декого з цих людей я вже десять років не бачив :-(
Перенесено з сайту tourpro.com.ua
Щоб Ви могли приблизно уявити собі персонажів, з якими відбувалися прикольні історії «сім по гривні п’ятдесят — сім п’ятдесят» і «тут вісім і тут вісім», а заодно нагадати їм, що випускний в нас був якраз десять років назад і пасувало б зібратися — покопався я ще в своєму фотоархіві і назбирав знимки з наших вилазок в Карпати.
Працює на AutoGenCMS 0.2.6