Articles in the Server category

  1. Proxmox VE 4.4 を導入してみた:ストレージとバックアップ

    シリーズ目次

    前回の続きです。Proxmox VE(以下PVE)はサーバー本体のディスクをシステム以外に、OSなどが入ったISOイメージや仮想マシンのディスクイメージの置き場所(ストレージ)として利用します。

    サーバー側にディスクをたくさん積んで置ける場合は良いのですが、業務で利用される場合は別にストレージサーバーがあると思います。

    私もNASを利用してファイル共有を行える環境がありますが、samba以外にもストレージサーバーとして扱えるNFS, iSCSIに対応しているサーバーがある場合は、そちらをPVEのストレージとして扱えます。今回は扱いやすいNFSサーバーをPVEに登録して、ISOイメージの保存, 仮想マシンディスクの保管場所にします。

    また、ストレージに関連してProxmox VEのバックアップ機能についても触れてみます。(こっちのほうがメインっぽい)

    ストレージとして扱える種類

    扱えるストレージは公式のドキュメントに記載されています。

    Proxmox VE Administration Guide

    ストレージタイプと言う概念もあります。ファイルタイプは名の通りファイルベースで管理するストレージ …

  2. Proxmox VE 4.4 を導入してみた:インストールと仮想マシン作成

    シリーズ目次

    Proxmox VEを使ってみました

    本業で利用するアプリ、個人的な趣味のツールのために、開発用のGitLabやテスト用のWinなどのマシンを稼働させています。

    それらを仮想マシンとして動かすためにハイパーバイザーとしてKVMを利用していました。数年前からvirshやvirt-managerなどを使って管理していましたが、 おっさんになってコマンド打つが面倒に 本業が忙しくてコマンドラインでいちいち管理するのが面倒になってきた(あとVMwareなどの別のアプライアンスを使ってると憧れますよね。。)のでVMwareに移行しようかなと考えていました。

    または、KVMのハイレベルなUI、できればWEBで利用できるインターフェイスがあるかなと探してました。KVMの公式では管理ツールの紹介があり、こちらを探してたのですが

    Management Tools - KVM

    それとTwitterで助言にただいたときにこのサービスを知りました

    Server virtualization management with Proxmox VE

    Proxmox VEという仮想マシンサーバーです。中身としてはDebian, KVM …

  3. Gitlab CI とgitlab-ci-multi-runnerのwindows版を使ってwindows側にビルドを走らせるCIを作る

    趣味、仕事のgitリポジトリやイシュー管理はGitlabを利用しています。最近のバージョンにはGitlab CIというCI(継続的インテグレーション)が搭載されていまして、適切な設定が用意できればGitlabのプロジェクト内でビルドをさせることができるようになります。

    仕事ではWindowsが対象で、Windows上でビルド作業が出来ないと困るため、unix向けのCIツールは使えず、以前からjenkinsを使ってみたいなーと言いながらすっかり対応をせずに放ったらかしにしていました。 が、最近はzc.buildoutでワン・コマンドでビルドできるようになったし、Gitlab CIのRunnerという概念を知り(jenkinsだとスレーブですね)、WindowsでもRun nerを動かすことができるらしいので試してみました。若干ハマりどころがありますが、動かすことは可能です。

    TL;DR

    • Gitlab CIのビルドはWindowsを使うこともできる
      • RunnerはGo製らしい
    • Windowsサービスとして実行できるがハマりどころがある
    • とりあえず試して動いた

    Gitlab CIのビルドはWindowsを使うこともできる

    Gitlab CIのビルドはRunnerというアプリ、サービス(デーモン)で実行されるようです。CIと予め接続したうえで、gitのclone(fetch)を行い、.gitlab-ci.yml というYAML文法の設定ファイルをリポジトリのルートに置くことで、commitした段階でビルドしてくれます。

    GitLab.org / gitlab-ci-multi-runner · GitLab

    GitLab Documentation …

  4. カンバン, タスクボードシステムを試してみた2: leanlabs.kanban編

    前回はkanboardを紹介しましたが、もう一つ紹介。Leanlabsのプロジェクトであるkanbanです。

    Gitlab kanban board

    最近(このプロジェクトのブログは3月から始まったらしい)作られたタスクボードアプリで、基本的にgitlabとの連携が必要な物です。gitlab private apiを使って、webhook以上の挙動として、gitlab側のissueをタスクボードに乗せて、leanlabs.kanbanとgitlabの双方でボードの操作が出来ます。あとGitlabとのoAuth認証が必須です。

    タスクボードとしての機能以外はそんなに入っていないようで、kanboard側の解析機能やスケジュール機能は無いです。ただgitlabのラベルやマイルストーン, ユーザー一覧も取れるので、gitlabに特化したタスクボードシステムで、よりプログラムエンジニアリング側のプロジェクトならぴったりかも知れません。ただバーンダウンチャートが書けないので、視覚化が辛いですね。

    インストール, gitlab連携

    dockerとdocker-composeを入れた環境で、以下のサイトに従います。

    Kanban documentation | Installation

    dockerを含めたdoker-composeの入れ方はこちらより。最近の環境構築ってスクリプトをダウンロードして実行するのが当たり前になりましたね。

    Docker Compose

    dockerを使うので、dockerが使えれればすぐに構築出来ます。設定類は、gitlabのホストURL(IP)やprivate api token。あとこのシステム向けのシークレットキー(KANBAN_SECRET_KEY)が必要です …

  5. カンバン, タスクボードシステムを試してみた1: kanboard編

    エンジニアリング的なプロジェクトの進め方として、アジャイル開発というのがあります。プロジェクトでやるべきタスク対して重み付けをして、一定期間を指定しながらタスクを消化していき、定期的に進捗をチェックしながらプロジェクトを進めていく手法です。

    アジャイルについては自分もまだ理解しきってないこともあるので、書籍等に解説を任せるとして。

    アジャイルサムライ――達人開発者への道
    B00J1XKB6K

    ASIN : B00J1XKB6K
    Amazonで詳しく見る
    Powered by Amazon Quick Affiliate (JP)

    アジャイルを運用する道具としてよくあるのは付箋とボードを使ってタスク管理をする方法です。 自分も前回のプロジェクトでは付箋とホワイトボードを使ってました。こういう感じです。

    紙とペンが一番やりやすいのですが、ボード自体がない場所ではタスクを見れない不満もありました。

    webサービスでカンバンができないかと探すと様々出てきます。Trelloは有名らしいです。

    そういったサービスを使うのもありでしたが、開発はセルフホストのgitlabのissueもよく使うので、issueを使ったカンバンシステムがないかと思ってましたが、Gitab公式で紹介されているサードパーティーのアプリケーション内にあるスクラムボードという項目があるではないですか!

    Applications Supporting GitLab | GitLab

    その中にあった2つのサービスを試してみました。どちらもセルフホストでOSSです。

    Kanboard

    Kanboard - Simple and open source visual task board

    こちらは、スタンドアローンでも利用できるタスクボードサービスです。gitlab以外にも様々なサービスと連携出来ます。機能一覧はこちらで見れますが

    Features of …

  6. vagrant-parallels + ubuntu 14.04 でDHCP環境上でDNSサーバーを変更(追加)する方法

    Macbookでvagrant+parallelsの組み合わせでvagrantを大変便利に利用していますが、各ゲストのdnsサーバーを変更したいときにちょっと困って何とかした話です。

    問題

    DHCPでアドレスを貰っている状態で、DHCP側で貰ったDNSのアドレスを変えたい時があります。今回はvagrant上のUbuntuマシンにsamba4 Domain Contorollerを実験的に入れて試している最中で、DNSだけをsambaで使うDNSサーバーへ変えたくなりました。
    (なおvagrantのpublic networkの設定でstaticにはしていないです。)

    普段、Ubuntu serverの固定IPで設定した時のDNSを変えたいときは、 /etc/network/interfaces ファイルにdns-nameserverを加えるだけです。自動的にresolvconf/etc/resolv.conf を書き換えてくれます。

    $ sudo vim /etc/network/interfaces
    iface br0 inet static
            address 192.168.3.50
            netmask 255.255.255.0
            network 192.168.3.0 …
  7. Zabbix 2.4を使ってみた - セットアップ編

    最近になって、事務所にいろんなネットワーク機器を入れましたが、監視できるツールを使ってみたくなりました。だいぶ前にMuninを使っていましたが、syslogも取れたり、設定しやすいものはないかなと探していましたが、Zabbixという監視サーバーアプリが良さそうだったので使ってみてます。

    Zabbixとは

    監視サーバーアプリです。専用のエージェントを使ってLinuxやWindowsの監視、SNMPの監視も出来ます。 業界的にもよく使われているようです。

    公式サイト

    ドキュメント

    日本語は2.2まで提供されていました。2.4もそこまで変更は無いので2.4のドキュメントとセットでみると理解が深まりそう。

    参考

    統合監視ツール「Zabbix」によるサーバー監視 - さくらのナレッジ

    (さくらのナレッジに2.4対応版の記事もあったのですが、中身がそっくり消えてしまっているのでリンクしませんでした。)

    環境 …

  8. mdadmを使ったRAID1のディスクを解除して普通のディスクとして使う

    Ubuntu 14.04 にてmdドライバー(mdadm)を使って作成したRAID1ディスクを解除して普通のディスクにするまでの履歴です。完璧にメモ書きです。

    mdadmを使ってRAIDの構成を解除

    参考: カラスはデスクに似ているか? » md RAID deviceの削除

    利用している環境からアンマウントする, fstabに書いてある場合は削除しておこう

    $ sudo umount /dev/md0
    

    mdデバイスをストップ

    $ sudo mdadm --misc --stop /dev/md0
    

    ディスクのスーパーブロックを削除。数秒かかるはず。

    $ sudo mdadm --misc --zero-superblock /dev/sd**
    # *はそれぞれ必要な文字や数字
    

    cat /proc/mdstat/ でmdデバイスの解除を確認

    /etc/mdadm/mdadm.confの内容を消す もしくはmdadm —detail —scanの内容で上書きする

    ばらしたディスクの中身を空にして普通のディスクにする

    普通のディスク …

  9. Githubクローンを試す gitbucket編

    gitlabを試した続きです。gitbucketも試してみました。

    今回もVagrantのparallels/Ubuntu-14.04のboxを利用しました。

    公式, 参考

    利用方法

    Ubuntu 14.04でインストールするとき、まずjava8を入れます。

    oracleのjavaが良いと思われるので、webupd8というUbuntu関連を扱うブログサイトが公開しているPPAを利用します。 別にPPAでなくても良いと思いますが、パス周りで面倒と思うなら、このリポジトリで良いと思います。(ググると一番上に出てきたりしますし)

    参考: Java - ubuntuでoracle-jdk8をインストールしておく - Qiita

    $ sudo apt install software-properties-common
    $ sudo add-apt-repository ppa:webupd8team/java
    $ sudo apt-get install oracle-java8-installer …
  10. uvtoolのネットワークをブリッジ接続させる

    書き残しです。気が付かなかったので。

    KVM+libvirtを動かしているマシンをubuntu 14.04にアップグレードしてから、uvtool が利用できるようになったのでkvmでマシン作りたいときはこれで作ってます。

    イメージがクラウドで利用されているのもの(Ubuntu Cloud Images)が手に入るので、一度必要なイメージをダウンロードしたら次はそれをリンクしてマシンを生成してくれるようで、OSのインストール作業というのが無いんです。非常に気が楽にマシンを作れます。

    何かを試す程度ならいいんですが、ちょっと問題が

    ネットワークがNATになってしまう

    ubtoolのデフォルトのネットワークはvirbr0というインターフェースを指すようで(libvirtが自動で生成するインターフェース)、これはNATのようです。

    libvirt: Wiki: Networking

    何がまずいかというと、例えばGitlab試したい!とかDocker試したい!とかで必要なサービスへアクセスさせようとした時に、NAT超えする設定を書く必要があるから。

    ブリッジで出せるといいなあと思ってました。できるのかな?と思ってたのですが出来ましたのでメモ書き。

    --bridgeオプションを使う

    $ uvt-kvm create example-bridge release=trusty --bridge br0 --package avahi-daemon
    

    これはlibvirt側のオプションです。uvtoolはlibvirtのオプションも使えるんですね。

    何も引数を渡さないでuvt-kvm createを使うとuvtoolが定義しているテンプレート(libvirt側に登録させるxml …

About Me

実家の自動車プレス金型設計業(sano-design.info)に所属。
また東海大学石井研究室(ishiilab.net)でたまにお手伝いしてます。
サイト制作/python/Ubuntu 作ったり扱います。 小さいガジェットがとっても好き。
最近は諸事情で家事業が多めです。

スポンサードリンク