среда, 30 мая 2012 г.

Как я моунтил диски для Amazon

http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-using-volumes.html

Есть амазон инстанц с 3 volume.  Второй на 50 гиг но в консоли я его не видел.
Шаги для mount disk

1. sudo mkdir /opt/extra
2. sudo mount /dev/xvdf /opt/extra
3. sudo vi /etc/fstab
LABEL=cloudimg-rootfs   /        ext4   defaults        0 0
/swapfile1 swap swap defaults 0 0
/dev/xvdb       /mnt    auto    defaults,nobootwait,comment=cloudconfig 0       2
/dev/xvdf       /opt/extra      auto    defaults,nobootwait,comment=cloudconfig 0       2

latest row has been added.

4. To check:

$ df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/xvda1            7.9G  4.0G  3.6G  54% /
udev                  1.9G  4.0K  1.9G   1% /dev
tmpfs                 752M  156K  752M   1% /run
none                  5.0M     0  5.0M   0% /run/lock
none                  1.9G     0  1.9G   0% /run/shm
/dev/xvdb             394G  199M  374G   1% /mnt
/dev/xvdf              50G  374M   47G   1% /opt/extra

*********************

$ umount /opt/extra
$ mount /opt/extra

should not be errors

*********************
Good lack!

UPD:
Use the lsblk command to view your available disk devices and their mount points (if applicable) to help you determine the correct device name to use.
[ec2-user ~]$ lsblk
NAME  MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
xvdf  202:80   0  100G  0 disk
xvda1 202:1    0    8G  0 disk /

четверг, 17 мая 2012 г.

Update Ubuntu 9.04 to 10.04

Вчера столкнулся с такой проблемой: при установке nginx(rvmsudo passenger-install-nginx-module) на Ubuntu 9.04 необходимо было установить libcurl4-openssl-dev:
$ sudo apt-get install libcurl4-openssl-dev
Однако библиотеки не находились. Ubuntu 9.04 is not supported.
Пришлось обновлять до 10.04.
Общий подход обновления: http://thanhsiang.org/faqing/node/156
Но перед этим нужно поменять archive на old-releases в файле /etc/apt/sources.list в урлах.

После этого nginx установился отлично!

Удачного обновления!



среда, 16 мая 2012 г.

RubyAmp with ruby 1.9

Обновился до 1.9 и обнаружил, что не работает такой полезный textmate bundle, как RubyAmp.
Однако удалось найти fork для него:

в инструкции http://code.leadmediapartners.com/ использовать 

git clone git://github.com/lastobelus/rubyamp.git RubyAMP.tmbundle

вместо оригинального.
Перезапустить textmate и  переустановить gem rb-appscript. 

Немного глючный(появляются всплывающие алерты), но функционал сохранился!

Удачи в использовании!

Monit for rails application on the ubuntu production server

Решил прикрутить monit для рестарта процессов на сервере(Ubuntu)

Коротко про monit и установку: http://www.darkcoding.net/software/setting-up-monit-on-ubuntu/
Мне же нужно было отслеживать nginx, couchdb, delayed_job и sunspot_solr. Для двух последних необходимо использовать rvm для перезапуска процесса. В итоге получился следующий /etc/monit/monitrc файл:

  set daemon  120           # check services at 2-minute intervals
  set logfile /var/log/monit.log

set httpd port 2812
  allow localhost

check process nginx with pidfile /opt/nginx/logs/nginx.pid
    start program = "/etc/init.d/nginx start"
    stop program = "/etc/init.d/nginx stop"

check process couchdb with pidfile /home/ubuntu/build-couchdb/build/var/run/couchdb/couchdb.pid
    start program = "/usr/bin/sudo /home/ubuntu/build-couchdb/build/bin/couchdb -b"
    stop program = "/usr/bin/sudo /home/ubuntu/build-couchdb/build/bin/couchdb -d"

check process sunspot-solr with pidfile /tmp/sunspot-solr-production.pid
    start program = "/bin/su - ubuntu -c 'cd /var/www/apps/xan/current; rvm 1.9.3@xan do rake RAILS_ENV=production sunspot:solr:start'"
    stop program =  "/bin/su - ubuntu -c 'cd /var/www/apps/xan/current; rvm 1.9.3@xan do rake RAILS_ENV=production sunspot:solr:stop'"

check process delayed-job with pidfile /var/www/apps/xan/shared/pids/delayed_job.pid
    start program = "/bin/su - ubuntu -c 'rvm use 1.9.3@xan; RAILS_ENV=production /var/www/apps/xan/current/script/delayed_job start'"
    stop program =  "/bin/su - ubuntu -c 'rvm use 1.9.3@xan; RAILS_ENV=production /var/www/apps/xan/current/script/delayed_job stop'"

 Детали:

Для nginx и couchdb все было просто.
Sunspot-solr запускается rake коммандой c использованием 'rvm rake'(https://rvm.io/set/rake/).
Для delayed-job просто переключился на нужный мне gemset и выполнил комманду.


/bin/su - ubuntu -c 
использовал для имитации shell.

 Удачи в использовании!