【OpenStackチャレンジ】 第15回 Swift環境構築編

2016.5.29


はじめに

photo-1453106037972-08fbfe790762.jpg

前回のKeystoneに続けて、今回はOpenStackのコンポーネントの1つであるSwiftを紹介したいと思います。
Swiftは、米国のホスティングサービス事業者Rackspaceによる商用サービス「Cloud Files」で使われていた技術をベースとしているクラウドストレージサービスです。その仕組みはかなり複雑で、OpenStackのコンポーネントの中でも理解し難いものになっています。理解のためには手動でインストールしてみるのが一番です。手動インストールを通してSwiftを理解していきましょう。

認証の動作

swiftに限らず、ほとんどのOpenStackコンポーネントはKeystoneに認証しています。Swiftを例に認証の動きを整理してみたいと思います。

①コマンドラインクライアントよりユーザ名とパスワードをKeystoneに送信し認証依頼を行う。

②ユーザ名、パスワードが正しければ認証され、認証トークンとSwiftのURLがコマンドラインに表示させる。

③コマンドラインから認証トークンを利用してSwiftへ処理を依頼する。

④SwiftからKeystoneに認証依頼をする。

⑤認証の許可、否認をする。

⑥Swiftからコマンドラインクライアントに結果を返信する。

swift2222.png

今回のSwift環境の構成図

前回Keystoneをインストールした状態のマシンに、公式ドキュメントのObjectStorageサービスの追加に則ってインストールを進めていきます。途中で物理ディスクをインストールする個所が出てきますので、z1d1とz2d1という2つの仮想ディスクを作成して、Swiftのストレージとします。

OpenStackコントローラ.png

Swiftのインストール

まずはシステムをアップデートしておきましょう!
$ sudo apt-get update
$ sudo apt-get dist-upgrade

システムログにログを記録するようにします。
$ sudo vi /etc/rsyslog.d/50-default.conf
*.=info;*.=notice;*.=warn;\
auth,authpriv.none;\
cron,daemon.none;\
mail,news.none -/var/log/messages

リスタートします。
$ sudo /etc/init.d/rsyslog restart
$ ls /var/logSWFINS-07.PNG

メッセージがとれているか確認します。
$ cat /var/log/messagesSWFINS-08.PNG

OpenStackのリリース名を確認します。
$ ls /etc/apt/sources.list.dSWFINS-09.PNG

adminユーザーの環境スクリプトを実行します。
$ source admin-openrc.sh

swift ユーザーを作成します。パスワードはubuntuとします。
$ openstack user create --domain default --password-prompt swiftSWFINS-10.PNG

※『$ openstack user create --project service --password ubuntu swift』
でもユーザを作成できます。
こちらでは対話型ではなくコマンド内でパスワードを指定できます。
OPCELの試験範囲になりますので覚えておきましょう!

ユーザが作成されたか確認しましょう。
$ openstack user listSWFINS-11.PNG

adminロールをswiftユーザーに追加しましょう。
$ openstack role add --project service --user swift admin
$ openstack role list --user swift --project serviceSWFINS-12.PNG

swiftサービスエンティティーを作成します。
$ openstack service create --name swift --description "OpenStack Object Storage" object-storeSWFINS-13.PNG

作成されたか確認してみましょう。
$ openstack service show swift

SWFINS-14.PNG

Object Storage service API エンドポイントを作成します。
$ openstack endpoint create --region RegionOne object-store public http://controller:8080/v1/AUTH_%\(tenant_id\)sSWFINS-15.PNG

$ openstack endpoint create --region RegionOne object-store internal http://controller:8080/v1/AUTH_%\(tenant_id\)sSWFINS-16.PNG

$ openstack endpoint create --region RegionOne object-store admin http://controller:8080/v1SWFINS-17.PNG

作成したエンドポイントを3つ確認します。
$ openstack endpoint list --service swift

SWFINS-18.PNG

それではパッケージをインストールしましょう!
swiftのコンテナとはオブジェクトを格納する入れ物です。Windowsではフォルダー、Linuxではディレクトリーと同じです。
swiftのオブジェクトとはデータの格納単位です。イメージとしてはWindowsやLinuxのファイルです。
$ sudo apt-get install -y swift swift-proxy swift-object swift-container swift-account python-swiftclient xfsprogs

コンフィグファイルのひな形を/etc/swift配下にダウンロードします。後程、これを順番に編集していきます。
$ sudo curl -o /etc/swift/proxy-server.conf https://git.openstack.org/cgit/openstack/swift/plain/etc/proxy-server.conf-sample?h=stable/liberty
$ sudo curl -o /etc/swift/account-server.conf https://git.openstack.org/cgit/openstack/swift/plain/etc/account-server.conf-sample?h=stable/liberty
$ sudo curl -o /etc/swift/container-server.conf https://git.openstack.org/cgit/openstack/swift/plain/etc/container-server.conf-sample?h=stable/liberty
$ sudo curl -o /etc/swift/object-server.conf https://git.openstack.org/cgit/openstack/swift/plain/etc/object-server.conf-sample?h=stable/liberty
$ sudo curl -o /etc/swift/swift.conf https://git.openstack.org/cgit/openstack/swift/plain/etc/swift.conf-sample?h=stable/liberty

$ ls -l /etc/swift/

SWFINS-26.PNG

バックアップをとっておきましょう。
$ cd /etc/swift/
$ sudo cp proxy-server.conf proxy-server.conf.bak
$ sudo cp account-server.conf account-server.conf.bak
$ sudo cp container-server.conf container-server.conf.bak
$ sudo cp object-server.conf object-server.conf.bak
$ sudo cp swift.conf swift.conf.bak
$ sudo cp /etc/fstab /etc/fstab.bak

バックアップがとれていることを確認できたら次にいきましょう。
$ ls -l

SWFINS-28.PNG

proxy-serverの設定を書き換えていきます。proxy-serverはKeystoneと連係した認証を行いつつデータの入出力も行う、Swiftのすべての入り口に相当する機能を受け持ちます。そのための各種設定を行っていきましょう。passwordの部分は先ほど、swiftユーザ作成時に設定したものを使用します。ここでは「ubuntu」をいれています。
$ sudo vi proxy-server.conf

[DEFAULT]

...
bind_port = 8080
user = swift
swift_dir = /etc/swift

[pipeline:main]
pipeline = catch_errors gatekeeper healthcheck proxy-logging cache
container_sync bulk ratelimit authtoken keystoneauth container-quotas
account-quotas slo dlo versioned_writes proxy-logging proxy-server

[app:proxy-server]
use = egg:swift#proxy
...
account_autocreate = true
[filter:keystoneauth]
use = egg:swift#keystoneauth
...
operator_roles = admin,user
[filter:authtoken]
paste.filter_factory = keystonemiddleware.auth_token:filter_factory
...
auth_uri = http://controller:5000
auth_url = http://controller:35357
auth_plugin = password
project_domain_id = default
user_domain_id = default
project_name = service
username = swift
password = ubuntu
delay_auth_decision = true
[filter:cache]
use = egg:swift#memcache
...
memcache_servers = 127.0.0.1:11211

設定が変更されているか確認しましょう。
$ cat proxy-server.conf | grep -v "^\s*$" | grep -v "^\s*#"

SWFINS-29-1.PNG

ストレージの設定

続いてストレージの設定を行います。本来であれば物理的なハードディスクを準備すべきですが、今回はループバックデバイスを用います。ループバックデバイスを使えば、一般的なファイルをハードディスクのように扱ってマウントすることができます。
$ sudo mkdir /var/disk
$ ls -l /var | grep disk

disk1.imgとdisk2.imgという51MBの空ファイルを作成します。
$ sudo dd if=/dev/zero of=/var/disk/disk1.img count=100000
$ sudo dd if=/dev/zero of=/var/disk/disk2.img count=100000
$ ls -l /var/diskSWFINS-32.PNG

disk1.imgとdisk2.imgをループバックデバイスに設定します。
$ cd /var/disk
$ sudo losetup -f disk1.img
$ sudo losetup -f disk2.img
$ sudo losetup -aSWFINS-34.PNG

ループバックデバイスをxfsでフォーマットします。
$ sudo mkfs.xfs /dev/loop0SWFINS-35.PNG$ sudo mkfs.xfs /dev/loop1SWFINS-36.PNG

ループバックデバイスをマウントします。
$ sudo mkdir -p /srv/node/z1d1
$ sudo mkdir -p /srv/node/z2d1
$ sudo mount /dev/loop0 /srv/node/z1d1
$ sudo mount /dev/loop1 /srv/node/z2d1
$ ls -l /srv/nodeSWFINS-37.PNG

fstabに書き加えておきましょう。

$ sudo vi /etc/fstab
/dev/loop0 /srv/node/z1d1 xfs noatime,nodiratime,nobarrier,logbufs=8 0 2
/dev/loop1 /srv/node/z2d1 xfs noatime,nodiratime,nobarrier,logbufs=8 0 2

$ cat /etc/fstabSWFINS-39.PNG

account-serverの設定を変更します。bind_ipには自身(ストレージノード)のIPアドレスを設定しましょう。
$ cd /etc/swift
$ sudo vi account-server.conf

[DEFAULT]
...
bind_ip = 10.0.0.101
bind_port = 6002
user = swift
swift_dir = /etc/swift
devices = /srv/node
mount_check = true
[pipeline:main]
pipeline = healthcheck recon account-server
[filter:recon]
use = egg:swift#recon
...
recon_cache_path = /var/cache/swift

$ cat account-server.conf | grep -v "^\s*$" | grep -v "^\s*#"SWFINS-41.PNG

container-serverの設定を行います。bind_ipは自身(ストレージノード)のIPアドレスになります

$ sudo vi container-server.conf

[DEFAULT]
...
bind_ip = 10.0.0.101
bind_port = 6001
user = swift
swift_dir = /etc/swift
devices = /srv/node
mount_check = true
[pipeline:main]
pipeline = healthcheck recon container-server
[filter:recon]
use = egg:swift#recon
...
recon_cache_path = /var/cache/swift

$ cat container-server.conf | grep -v "^\s*$" | grep -v "^\s*#"SWFINS-42.PNG

object-serverの設定を行います。bind_ipは自身(ストレージノード)のIPアドレスとなります。

$ sudo vi object-server.conf

[DEFAULT]
...
bind_ip = 10.0.0.101
bind_port = 6000
user = swift swift_dir = /etc/swift devices = /srv/node mount_check = true
[pipeline:main]
pipeline = healthcheck recon object-server
[filter:recon]
use = egg:swift#recon
...
recon_cache_path = /var/cache/swift
recon_lock_path = /var/lock

$ cat object-server.conf | grep -v "^\s*$" | grep -v "^\s*#"SWFINS-43.PNG

ストレージの所有者を変更します。
$ sudo chown -R swift:swift /srv/node
$ ls -l /srvSWFINS-44.PNG

$ sudo mkdir -p /var/cache/swift
$ sudo chown -R root:swift /var/cache/swift
$ ls -l /var/cacheSWFINS-46.PNG

リングの設定

リングを設定していきます。今回はAll in one環境で実施しているのでわかりにくくなっていますが、ここからはコントローラノードに対する設定になります。

リングはデータをストレージ上から見つける為に利用されます。アカウント名やオブジェクト名等から導き出されるハッシュをこのリングに当てはめることで、どのディスクのどのパーティションにデータが保存されたかを導き出すことができるようにできています。リングは、アカウント、コンテナ、オブジェクトそれぞれに対して作ります。

まずはアカウントのリングを作成します。アカウントのリングを使うことで、アカウントデータベースがどこに格納されたかを見つけることができます。アカウントデータベースには、アカウントに関する情報とコンテナ一覧が格納されています。

リングの作成にはリングビルダーファイルが使われます。リングビルダーファイルにデバイスを設定し、最後にrebalanceコマンドを実行することで、リングビルダーファイルからリングが作られます。
$ sudo swift-ring-builder account.builder create 10 3 1
$ sudo swift-ring-builder account.builder add --region 1 --zone 1 --ip 10.0.0.101 --port 6002 --device z1d1 --weight 100
$ sudo swift-ring-builder account.builder add --region 1 --zone 2 --ip 10.0.0.101 --port 6002 --device z2d1 --weight 100

リングビルダーファイルの中身を確認しましょう
$ sudo swift-ring-builder account.builder

SWFINS-73.PNG

リバランスしてリングを作成します。
$ sudo swift-ring-builder account.builder rebalance

続いて、コンテナのリングを作成します。コンテナのリングをつかうことで、コンテナデータベースがどこに格納されたかを見つけることができます。コンテナデータベースには、コンテナに関する情報とオブジェクト一覧が格納されています。アカウントのときと同様にリングビルダーファイルにデバイスを登録して、リバランスを実行します。

$ sudo swift-ring-builder container.builder create 10 3 1

$ sudo swift-ring-builder container.builder add --region 1 --zone 1 --ip 10.0.0.101 --port 6001 --device z1d1 --weight 100
$ sudo swift-ring-builder container.builder add --region 1 --zone 2 --ip 10.0.0.101 --port 6001 --device z2d1 --weight 100

リングビルダーファイルの中身を確認しましょう。

$ sudo swift-ring-builder container.builder

SWFINS-74.PNG

リバランスします。
$ sudo swift-ring-builder container.builder rebalance

オブジェクトのリングを作成します。オブジェクトのリングを使うことで、オブジェクトがどこに格納されたのかを見つけることができます。オブジェクトとはユーザが保存したファイルそのものですね。リングビルダーファイルを作成してからリバランスしていきます。

$ sudo swift-ring-builder object.builder create 10 3 1
$ sudo swift-ring-builder object.builder add --region 1 --zone 1 --ip 10.0.0.101 --port 6000 --device z1d1 --weight 100
$ sudo swift-ring-builder object.builder add --region 1 --zone 2 --ip 10.0.0.101 --port 6000 --device z2d1 --weight 100
$ sudo swift-ring-builder object.builderSWFINS-75.PNG

 

リバランスします。
$ sudo swift-ring-builder object.builder rebalance

リングが作られたかどうか確認してみましょう。
$ ls -l /etc/swift/*.ring.gz

SWFINS-54.PNG

次はswift.confを設定していきます。

ハッシュを生成するオブジェクト名等につける接頭語(プレフィックス)と接尾語(サフィックス)を設定します。ランダムの数字を付けておくことでハッシュのセキュリティを高めるのに使われます。
$ openssl rand -hex 10
12ce9c508b8c10f776ae

$ openssl rand -hex 10
6f0853d40c34a4256544

取得した数値を設定します。

[swift-hash]
...
swift_hash_path_suffix = 12ce9c508b8c10f776ae
swift_hash_path_prefix = 6f0853d40c34a4256544
[storage-policy:0]
...
name = Policy-0
default = yes

$ cat swift.conf | grep -v "^\s*$" | grep -v "^\s*#"SWFINS-76.PNG

$ sudo chown -R root:swift /etc/swift
$ ls -l /etc | grep swiftSWFINS-56.PNG

Swiftに関するすべてのプロセスをリスタートします。
$ sudo service memcached restart

$ sudo service swift-proxy restart
$ sudo swift-init all startSWFINS-57.PNG

エラーがないかどうかシステムログを確認しましょう。
$ tail -n 30 /var/log/messages

SWFINS-58.PNG

Swiftの動作確認

動作確認をしていきます!

クライアント環境スクリプトをAPIバージョン3を使用するように変更します。
$ cd ~
$ echo "export OS_AUTH_VERSION=3" | tee -a admin-openrc.sh demo-openrc.sh
$ cat admin-openrc.sh
$ cat demo-openrc.shSWFINS-60.PNGdemoユーザの環境スクリプトを実行します。
$ source demo-openrc.sh

Swiftのアカウント、コンテナ、オブジェクト等に関する情報を表示してみましょう。ちなみにswiftコマンドではkeystone認証のクライアントが古いものが使用されていて警告がでます。
$ swift statSWFINS-61.PNG

「testfile.txt」を作成し、Swiftにアップロードします。
$ touch testfile.txt
$ swift upload container1 testfile.txtSWFINS-62.PNG

Swiftに格納されているコンテナ、オブジェクトの一覧を表示してみましょう。
$ swift listSWFINS-64.PNG

Swiftのコンテナ(container1)に格納されているオブジェクト(testfile.txt)をダウンロードしてみましょう。
$ sudo rm testfile.txt
$ ls -l
$ swift download container1 testfile.txt
$ ls -lSWFINS-65.PNG

openstackコマンドも試しておきます。コンテナ(test)を作成してみましょう。こちらはswiftコマンドのように警告はでません。今後はopenstackコマンドの利用が推奨されているようです。
$ openstack container create testSWFINS-67.PNG

コンテナ(container1)に入っているオブジェクトを表示してみましょう。大丈夫そうですね。
$ openstack object list container1SWFINS-68.PNG

おわりに

前回のKeystoneに引き続きでSwiftの手動インストールを紹介しました。
最初は何をやっているのかよくわからないのですが、何度か実施しているとなんとなく意味が分かってきます。繰り返し実施してみてくださいね。

今回も最後までお付き合いを頂き、ありがとうございました。

photo-1453282716202-de94e528067c.jpg



OpenStack手動インストールと同じカテゴリーの記事



RSS
最近のエントリー
2017.4.21
【検証自動化】第6回 AT-CLabを使ってみる
2017.4.21
【OSSチャレンジ】第4回 Elasticsearch紹介
2017.4. 7
【OSC2017 Tokyo/Spring】OpenStackを宇宙で!?
2017.3.28
【OSSチャレンジ】 第3回 Bacula紹介:後編
2017.3. 9
【OpenStackチャレンジ】 第29回 Ocata紹介編
2017.2.24
【OSSチャレンジ】 第2回 Docker紹介編
2017.2.20
【OSSチャレンジ】 第1回 Bacula紹介:前編
2017.2. 1
【体験記】最後のフロンティア!? ~ミャンマー 体験記~
2017.1.18
【データベース】pgpool-IIによるDBサーバ負荷分散
2016.12.16
【ログ解析】第2回Splunkのログ解析
2016.12. 9
LPIC304 体験記
2016.11.19
【OSC2016 Tokyo/Fall】VRとOpenStackを連携
2016.11.11
【次世代通信技術】 第1回 5G入門編
2016.10.28
【ログ解析】第1回Splunkの紹介と起動
2016.10.21
【OpenStackチャレンジ】 第28回 Stackalytics登録編
2016.10.14
【OpenStackチャレンジ】 第27回 OpenStack Newton紹介編
2016.10. 7
【検証自動化】第5回 Selenium IDEで記録したテストをJenkinsのジョブから実行する ~PC一台でブラウザテストを自動化~【後編】
2016.9.30
【OpenStackチャレンジ】 第26回 Neutron環境構築編
2016.9.23
【いまさら聞けない!エンジニアの基本シリーズ】 第6回 きれいなログにするためのLinuxお作法
2016.9.16
【OpenStackチャレンジ】 第25回 Nova環境構築編
2016.9. 9
【OpenStackチャレンジ】 第24回 Cinder環境構築編
2016.9. 2
【OpenStackチャレンジ】 第23回 OpenStackコミュニティ~翻訳編
2016.8.26
【OpenStackチャレンジ】 第22回 Glance環境構築編
2016.8.19
【検証自動化】第4回 Selenium IDEでテストケースを記録・実行する ~PC一台でブラウザテストを自動化~【前編】
2016.8. 9
【OpenStackチャレンジ】 第21回 OpenStackコミュニティ 日本語翻訳チーム参加編
2016.8. 5
【OpenStackチャレンジ】 第20回 構成管理ツール「Ansible」を用いたOpenStack上のサーバ構築
2016.7.29
【検証自動化】第3回 IT検証フォーラム2016に出展しました!
2016.7.22
【OpenStackチャレンジ】 第19回 OpenStack Upstream Training編
2016.7.15
【検証自動化】第2回 TestShell+TestCenter連携編
2016.7. 8
【OpenStackチャレンジ】 第18回 HEAT紹介編
2016.7. 4
QNAP紹介(Dockerコンテナ&OpenStack Swift連携)
2016.6.26
【いまさら聞けない!エンジニアの基本シリーズ】 第5回 GitHubを使いこなそう
2016.6.19
【OpenStackチャレンジ】 第17回 Zabbix環境構築編
2016.6.12
【検証自動化】第1回 TestShell編
2016.6. 5
【OpenStackチャレンジ】 第16回 Mirantis 「OpenStack FUEL管理」セミナー紹介編
2016.5.29
【OpenStackチャレンジ】 第15回 Swift環境構築編
2016.5.22
【OpenStackチャレンジ】 第14回 Keystone環境構築編
2016.5.15
【OpenStackチャレンジ】 第13回 Mirantis OpenStack紹介編
2016.5. 2
【OpenStackチャレンジ】 第12回DevStack~ Ironic環境構築編
2016.4.24
【OpenStackチャレンジ】 第11回 インフラエンジニア必見のOpenStackセミナーを開催しました!
2016.4.17
【OpenStackチャレンジ】 第10回 OpenStack Mitaka紹介編
2016.4.10
【Linuxを使いこなす】 CentOSのローカルリポジトリを構築しよう
2016.4. 3
【OpenStackチャレンジ】 第9回 仮想マシンが起動するコンピュートノードを指定してみよう
2016.3.29
【OpenStack チャレンジ】 第8回 ゲストマシンの性能比較をしてみました!
2016.3.19
【OSC2016】第3回 ChatOpsでOpenStackをAPIから制御する
2016.3.12
【OSC2016】第2回Let'sChat Hubot編
2016.3. 4
【OSC2016】第1回ChatOpsの構築
2016.1.31
【OpenStackチャレンジ】 第7回 DevStack~All-In-One Single Machine編
2016.1.22
【OpenStackチャレンジ】 第6回 policy.json紹介編
2016.1.13
【OpenStackチャレンジ】 第5回 Ceilometerについて知ろう!
2016.1. 8
【いまさら聞けない!エンジニアの基本シリーズ】 第4回 VMware基本動作編
2015.12.24
【1年間ありがとう!】2015年度エンジニアブログ アクセスランキング発表!
2015.12.18
【SDNチャレンジ】 第29回 Mininet編
2015.12.14
【いまさら聞けない!エンジニアの基本シリーズ】 第3回 VMwareインストール編
2015.12.10
【OpenStackチャレンジ】第4回 ConoHaでOpenStack環境を構築!
2015.12. 4
【いまさら聞けない!エンジニアの基本シリーズ】 第2回 VirtualBox基本動作編
2015.12. 4
【OpenStackチャレンジ】 第3回 OpenDaylight(Lithium)との連携に挑戦!
2015.11.27
【いまさら聞けない!エンジニアの基本シリーズ】 第1回 VirtualBoxインストール編
2015.11.20
【SDNチャレンジ】 第28回 WiresharkでOpenFlowを解析しよう!
2015.11.15
OpenStackの技術者認定資格「OPCEL認定試験」に合格しました!
2015.11. 9
「Windows Server 2003」から「Windows Server 2012 R2」への移行に不安を抱えるお客様へ
2015.11. 6
【SDNチャレンジ】 第27回 OpenMUL編
2015.10.30
【SDNチャレンジ】 第26回 ONOS-BGPルータ編
2015.10.23
【SDNチャレンジ】 第25回 ONOS GUI編 / [告知]10/24(土),25(日)にOSCに出展します!
2015.10.16
【SDNチャレンジ】 第24回 ONOSインストール編
2015.10. 9
【SDNチャレンジ】 第23回 OpenDaylightユーザ会に参加しました/Lithiumインストール編
2015.10. 2
【SDNチャレンジ】 第22回 Trema-edge編
2015.9.29
【OpenStackチャレンジ】 番外編 10/26(月)からLPI-Japanの「OPCEL認定試験」がスタートします!
2015.9.25
【SDNチャレンジ】 第21回 POX編
2015.9.18
【OpenStackチャレンジ】 第2回 コンポーネント紹介編
2015.9.11
【SDNチャレンジ】 第20回 Floodlight編
2015.9. 4
【OpenStackチャレンジ】 第1回 OpenStackインストール編
2015.9. 3
【ウェブサイトのロードテストをする】 最終回 Siege編
2015.8.28
【SDNチャレンジ】 第19回 Raspberry Piでユースケースに挑戦!
2015.8.21
【SDNチャレンジ】 第18回 OF-Patch動作編
2015.8.13
【SDNチャレンジ】 第17回 OF-Patch紹介編
2015.8. 7
Windows10をインストールしてみました!
2015.8. 4
【ウェブサイトのロードテストをする】 第3回 Tsung編
2015.7.31
【SDNチャレンジ】 第16回 Ryuコントローラインストール編
2015.7.25
【SDNチャレンジ】 第15回 Open vSwitch性能試験編
2015.7.17
【SDNチャレンジ】 第14回 Tcpreplay編
2015.7.17
RedHat OpenStack 管理者認定試験に合格しました!
2015.7.11
【SDNチャレンジ】 第13回 Vyattaコントローラ REST API編
2015.7. 3
【SDNチャレンジ】 第12回 Vyattaコントローラ動作編
2015.7. 1
【ウェブサイトのロードテストをする】 第2回 curl-loader編
2015.6.26
【SDNチャレンジ】 第11回 OpenDaylight動作編②
2015.6.19
【SDNチャレンジ】 第10回 OpenDaylight動作編①
2015.6.18
【ウェブサイトのロードテストをする】 第1回 Apache JMeter編
2015.6.12
【SDNチャレンジ】 第9回 リピーターハブとラーニングスイッチの動作比較編
2015.6. 5
【SDNチャレンジ】 第8回 Tremasharkインストール編
2015.5.25
【SDNチャレンジ】 第7回 帯域制御・ファイアウォール・パケット書換え編
2015.5.22
【SDNチャレンジ】 第6回 ラーニングスイッチ作成編
2015.5.15
【SDNチャレンジ】 第5回 Raspberry Pi2にOpen vSwitchをインストール
2015.5. 8
【SDNチャレンジ】 第4回 5/13(水)、14(木)、15(金)の展示会にて検証自動化デモを実施します!
2015.4.27
【SDNチャレンジ】 第3回 Tremaリピーターハブ編
2015.4.21
【SDNチャレンジ】 第2回 OpenFlowコントローラ作成編
2015.4.14
【SDNチャレンジ】 第1回 Tremaインストール編
2014.8.20
【注意!】8月13日のWindows Updateを適用すると起動できなくなる事例が報告されています!
2014.5.23
約6割の企業が悩んでいるのに、対策しないんですか...?
2014.1. 9
新年あけましておめでとうございます。
2013.12.24
2013年エンジニアブログ アクセスランキング発表!
2013.12.17
コミュニケーション「活性化」の第一歩
2013.10.29
なぜ儲かっているのか分からない!?
2013.10.15
「何を変えるのか、何に変えるのか、どのように変えるのか」
2013.9.17
ブラック企業にドラッカーがアドバイスするとしたら?
2013.9. 4
蟻の穴から堤も崩れる
2013.8. 6
派閥じゃなくて、理念の元に仕事をしよう!
2013.7.31
知識は使ってナンボです!
2013.7.30
御社の相互理解度はどれくらい?
2013.7. 3
何故、それが読まれたか~上半期・エンジニアブログ閲覧数ランキング~
2013.6.12
「何」を知っているかではなく、「誰」が知っているか
2013.5.28
戦後、人間尊重の信念を貫きとおした1人の経営者がいた!
2013.5.24
健康な心が、健康な会社を作る。
2013.4.26
『社長にはもうついていけません・・・』
2013.4.23
仕事と生活をバランスさせるには?
2013.4. 2
組織に必要なのは「ゆらぎ」と・・・?
2013.3.21
代表小林、バングラディシュの地に再度降り立つ
2013.3.14
色々作っちゃいました!
2013.3. 5
「心のバランスシート」に着目していますか?
2013.2. 6
Office2013発売!で、何が変わった?
2013.2. 1
「想いを語る夕べ」が新宿から30分の場所で開催可能に!
2012.12.25
エンジニアブログ番外編:決戦は「ひなたかなた」
2012.12.19
2012年エンジニアブログ&Facebook閲覧数ランキング発表!
2012.11.29
プロセス見直すのはいいけれど...大事なこと忘れてません?
2012.10.31
「仕事」と「個々の生活」の両立~ワーク・ライフ・バランス~
2012.10.26
Windows8発売!で何が起こる?
2012.10. 9
腹が減っては打ち合わせは出来ぬ?~アドック近辺ランチスポット・カフェ編~
2012.10. 2
iPhone5発売!LTE普及には切実な背景が...
2012.9.12
「だれを選ぶか」をまず決めて、その後に「何をすべきか」を決める。
2012.8.17
会社を回すのに大事な3つの感覚。
2012.8. 7
プロジェクトはたいてい失敗に終わるんです。
2012.7.19
『目の前に壁があったら、突き破るしかねえんだよ』by鬼塚
2012.7. 2
大手企業も多数協賛する「東京経営塾」の塾長とは!?
2012.6.15
メンタルヘルスケアジャパン2012報告!
2012.6. 4
御社の理念浸透力はどれくらい?!
2012.5.14
メンタルヘルスケアジャパン2012参加のお知らせ
2012.4.27
東京スカイツリーと地デジとADOC
2012.4.17
マイボトル・マイカップキャンペーン/エンジニアブログ1周年記念
2012.3.14
第1回「想いを語る夕べ」体験会レポート~伝えることの難しさ~
2012.2.29
想いを語る夕べ報告書を新聞にしちゃいました!
2012.2. 6
月刊『ニュートップリーダー』に記事掲載&"想いを語る夕べ"体験会やります!
2012.1.31
【第4回】想いを語る夕べ~フォロー編~
2012.1.23
タニタの社員食堂は"トップの想い"から生まれた!?
2012.1.13
【第3回】想いを語る夕べ~実施編~
2011.12.27
オフィスで簡単エクササイズ!
2011.12.13
【第2回】想いを語る夕べ~準備編~
2011.11.24
【第1回】想いを語る夕べ~誕生編~
2011.11.17
「責任感だけで仕事をしていた・・・。」が「自らサービスを作り上げ、喜びを感じたい!」という熱い想いに変わるまで
2011.11. 8
アドックインターナショナルはGoogleのまわし者!?
2011.10.11
あなたのその行動、誰かに監視されてませんか?
2011.9.28
たったこれだけのことで、チームに一体感が生まれる!?
2011.9.22
ADOCersがITS健康保険組合の野球大会に出場します!
2011.9.21
アドックに入社するとコンサートホールで歌えてグァムに行けるってホント?
2011.8.30
アドック社員元気の素!?
2011.8.16
電力使用制限発動!罰金は100万円!?PC電力管理ソフトのススメ
2011.8. 9
「ネットトラブル調査隊」対象エリア拡大しました!(後日談付き)
2011.8. 1
Windows7にはメールソフトが付いてない!?
2011.7.22
「社長の想いを語る夕べ」プログラムのご紹介
2011.7.12
64ビット版Windowsへの移行について
2011.7. 8
検証やテストを自動化する際に気を付けなければいけない3つの事
2011.7. 5
地デジと周波数再編とADOC
2011.6.29
アドックインターナショナルの節電対策とスーパークールビズ
2011.6.27
あるレンタカー事業会社のケース
2011.6.20
ラボルームのご紹介
2011.6.17
Interop Tokyo 2011に行ってきました!
2011.6. 7
ADOCの保守サービスと震災対応
2011.5.31
"メンタルヘルスケア・ジャパン2011"レポート
2011.5.19
「おばあちゃん家」
2011.5.11
スマートフォンは急速に普及している・・・?
2011.5. 9
ADOCの品質改善活動への取り組み事例をご紹介
2011.4.19
ADOCのお花見と節電への取り組み
2011.4. 6
復興支援のため東北へ向かっていた弊社の社員2名が戻ってきました!その2
2011.3.31
復興支援のため東北へ向かっていた弊社の社員2名が戻ってきました!
2011.3.28
弊社パートナーが被災地支援のサービス開始
2011.3.25
震災により表面化した携帯通信網の弱さ
2011.2.28
エンジニアブログスタートのお知らせ
カテゴリー
月別アーカイブ

<