The OpenNET Project
 
Поиск (ключи):    ПРОГРАММЫ СТАТЬИ СОВЕТЫ ФОРУМ
  WIKI НОВОСТИ (+) MAN'ы ДОКУМЕНТАЦИЯ

Использование cloud-init для запуска cloud-редакции Ubuntu в локальном KVM-окружении
В состав адаптированных для установки в cloud-окружениях сборок Ubuntu 10.10
(UEC) был интегрирован cloud-init, конфигурируемый процесс инициализации,
позволяющий унифицировать процесс задания конфигурации во время загрузки,
например, указать локаль, имя хоста, SSH-ключи и точки монтирования.

Ниже представлен скрипт по установке и преднастройке UEC-сборки в виде гостевой
системы, работающей под управлением локального гипервизора KVM.

# Загружаем свежую сборку UEC с http://uec-images.ubuntu.com,
# например, стабильный выпуск Ubuntu 10.10 (http://uec-images.ubuntu.com/maverick/current/) 
# или тестовую версию Ubuntu 11.04 (http://uec-images.ubuntu.com/natty/current/).

   uecnattyservercurrent=http://uec-images.ubuntu.com/server/natty/current/natty-server-uec-i386.tar.gz

# Распаковываем img-образ и устанавливаем несколько переменных, указываем 
# на ядро и базовые директории:

   tarball=$(basename $uecnattyservercurrent)
   [ -f ${tarball} ] || wget ${uecnattyservercurrent}
   contents=${tarball}.contents
   tar -Sxvzf ${tarball} | tee "${contents}"
   cat natty-server-uec-i386.tar.gz.contents
   base=$(sed -n 's/.img$//p' "${contents}")
   kernel=$(echo ${base}-vmlinuz-*)
   floppy=${base}-floppy
   img=${base}.img

# Преобразуем образ UEC в формат qcow2, для запуска под управлением KVM:

   qemu-img create -f qcow2 -b ${img} disk.img

# Подготавливаем набор мета-данных (файлы meta-data и user-data) для 
# автоматизации настройки гостевой системы, примеры можно посмотреть здесь

# Запускаем простейший HTTP-сервер для отдачи файлов с мета-данными 
# Сервер будет запущен на 8000 порту и будет отдавать файлы meta-data 
# и user-data из текущей директории, которые следует модифицировать в зависимости 
# от текущих предпочтений (можно прописать команды по установке дополнительных пакетов, 
# запустить любые команды, подключить точки монтирования и т.п.)

   python -m SimpleHTTPServer &
   websrvpid=$!

# Запускаем гостевую систему под управлением KVM, базовый URL для загрузки 
# мета-данных передаем через опцию "s=":

   kvm -drive file=disk.img,if=virtio,boot=on -kernel "${kernel}" \
      -append "ro init=/usr/lib/cloud-init/uncloud-init root=/dev/vda ds=nocloud-net;s=http://192.168.122.1:8000/ ubuntu-pass=ubuntu"

# Завершаем выполнение http-сервера, используемого для отдачи мета-данных.
   kill $websrvpid



Пример файла user-data:

   #cloud-config
   #apt_update: false
   #apt_upgrade: true
   #packages: [ bzr, pastebinit, ubuntu-dev-tools, ccache, bzr-builddeb, vim-nox, git-core, lftp ]

   apt_sources:
    - source: ppa:smoser/ppa

   disable_root: True

   mounts:
    - [ ephemeral0, None ]
    - [ swap, None ]

   ssh_import_id: [smoser ]

   sm_misc:
    - &user_setup |
      set -x; exec > ~/user_setup.log 2>&1
      echo "starting at $(date -R)"
      echo "set -o vi" >> ~/.bashrc
      cat >> ~/.profile <<EOF
      export EDITOR=vi
      EOF

   runcmd:
    - [ sudo, -Hu, ubuntu, sh, -c, 'grep "cloud-init.*running"  /var/log/cloud-init.log > ~/runcmd.log' ]
    - [ sudo, -Hu, ubuntu, sh, -c, 'read up sleep < /proc/uptime; echo $(date): runcmd up at $up | tee -a ~/runcmd.log' ]
    - [ sudo, -Hu, ubuntu, sh, -c, *user_setup ]

Пример файла meta-data

   #ami-id: ami-fd4aa494
   #ami-launch-index: '0'
   #ami-manifest-path: ubuntu-images-us/ubuntu-lucid-10.04-amd64-server-20100427.1.manifest.xml
   #block-device-mapping: {ami: sda1, ephemeral0: sdb, ephemeral1: sdc, root: /dev/sda1}
   hostname: smoser-sys
   #instance-action: none
   instance-id: i-87018aed
   instance-type: m1.large
   #kernel-id: aki-c8b258a1
   local-hostname: smoser-sys.mosers.us
   #local-ipv4: 10.223.26.178
   #placement: {availability-zone: us-east-1d}
   #public-hostname: ec2-184-72-174-120.compute-1.amazonaws.com
   #public-ipv4: 184.72.174.120
   #public-keys:
   #  ec2-keypair.us-east-1: [ssh-rsa AAAA.....
   #      ec2-keypair.us-east-1, '']
   #reservation-id: r-e2225889
   #security-groups: default
 
Раздел:    Корень / Безопасность / Виртуализация - Xen, OpenVZ, KVM, Qemu

Обсуждение [ RSS ]
 
  • 1, User294, 05:16, 05/01/2011 [ответить] [смотреть все]
  • +/
    Много букв, и, главное - в половине мест напихана какая-то черная магия... без объяснений ЧТО и ЗАЧЕМ делается. Ну вот например, образцы файлов - это круто. Но совсем иначе станет когда захочется их осмысленно отредактировать. В итоге не понятен смысл гайда. Ман я почитать могу и без гайдов :). А вот что и зачем - этот ман к сожалению не показывает и не рассказывает.
     
     
  • 2, Тру_Гангста, 12:49, 05/01/2011 [^] [ответить] [смотреть все]
  • +/
    согласен, коментариев очень мало
     

    Ваш комментарий
    Имя:         
    E-Mail:      
    Заголовок:
    Текст:

     Добавить заметку
     Версия для печати
     
     Поиск заметки:
     

    Последние заметки
    - 12.05 Организация шифрованного бэкапа с помощью rdiff-backup, encfs и Dropbox
    - 11.05 Настройка беспроводного соединения в Debian GNU/Linux
    - 07.05 Использование Google Drive в Linux
    - 18.04 Использование нескольких сетевых стеков в Linux
    - 15.04 Восстановление стандартного KDE меню после его удаления (например, wine)
    - 11.04 Настройка gmirror при использовании GPT во FreeBSD 9
    - 09.04 Маршрутизатор на базе FreeBSD с приоритизация трафика средствами PF и ALTQ
    - 02.04 Частичное восстановление данных MySQL из бэкапа, созданного с использованием LVM
    - 21.03 Настройка DNSSEC в BIND 9.9
    - 17.03 Набор номера на Cisco IP Phone 7960/7940 из скрипта
    RSS | Следующие 15 записей >>


    ПОДПИШИСЬ НА ЖУРНАЛ Linux Format 2012!

    Журнал "Linux Format" (Линукс Формат)- Единственный в России и странах СНГ журнал на русском языке, посвящённый Linux и свободному ПО. Журнал для IT-директоров, IT-менеджеров, программистов, системных администраторов, учителей школ и преподавателей ВУЗов и всех пользователей ПК. В каждом выпуске: Новости индустрии OpenSource, обзоры новинок свободного ПО, обучающие и методические статьи.

    Каждый, кто оформит подписку, получает бонусы и подарки- объёмные наклейки на системный блок, диск с архивом номеров за 2005-2011 г.г. и ежемесячно электронную версию журнала в pdf-формате.

    Оформить подписку на год


      Закладки на сайте
      Проследить за страницей
    Created 1996-2012 by Maxim Chirkov  
    ДобавитьРекламаВебмастеруГИД  
    RUNNet TopList