Category: ブログ

VMの作成とOSインストール,遠隔ログイン設定を自動化

修士研究の一環で,仮想マシンの台数を増やしながら提案システムのスケーラビリティを測定する実験を行う必要がありました.今回はその過程で仮想マシンが大量に必要になったため,仮想マシンの作成手順を自動化しました. 自動化の過程は主に次の3つに大別されます.以降ではそれぞれをどのように自動化したのか説明します. 仮想マシンの作成 OSインストール 個別の仮想マシンごとに設定を変更 1. 仮想マシンの作成 CDSLではハイパーバイザーとしてVMware ESXiを使っています.このESXiは無償版であるため仮想マシンを複製する機能がありません.そのため,今回はSSH経由でESXiへログインし,仮想マシンの構成ファイル(vmxファイル)をコマンドで自動生成することで仮想マシンを作成しました. 以下はPythonでESXiへSSH接続した後に発行しているコマンドの例です.cmd変数の中身が実行しているコマンド全体です.主な処理は,空の仮想マシンを作成,vmxファイルの作成,空の仮想マシンへのvmxファイルの指定,仮想マシン用のディスクの作成,仮想マシンの起動です. これは過去に実装した cdsl-research/ecoman のコードを流用しています. 2. OSインストール CDSLではLinux OSとしてUbuntu 20.04を使用しています.UbuntuにはOSインストールを自動化する方法としてAutoinstallが用意されています.今回はこのAutoinstallの設定を内包した独自インストーラ(独自ISOファイル)を作成し,インストールの手続きを全自動で行いました. 独自インストーラの作成手順は,(1)既存のOSインストーラをコマンドで解凍し「インストーラ構成ファイル群」を取り出します.次に,(2)その中にあるAutoinstall用の構成ファイルを編集します.さらに,(3)OSインストーラをビルドして独自ISOファイル(OSインストーラ)を作成します. 以下はAutoinstallの設定ファイルの例です.YAML形式で キーボード配列や言語ネットワーク設定, ユーザ情報やタイムゾーンを記述しています. sudoをパスワードなしで実行できるようにlate-commandsへコマンドを追記しました.構成ファイルは,その他の設定とあわせて cdsl-research/auto-install-ubuntu-2004 で公開しています. 今回は上記の構成ファイルをOSインストーラがHTTPサーバから取得するように,ブートローダの起動オプションもあわせて変更しています. 独自ISOファイルを仮想マシンに設定し,仮想マシンを起動すると自動的にOSインストールが開始され,OSのインストール済みな仮想マシンが作成されます. 3. 個別の仮想マシンごとに設定を変更 仮想マシンの作成とOSのインストールを自動化すると,Ubuntuのインストールされた仮想マシンが大量に作成できます.以下は仮想マシンを大量に作成したときの仮想マシン一覧です. これらの仮想マシンへSSHするためには,仮想マシンごとのIPアドレスを知る必要があります.CDSLではDHCPサーバとDNSサーバを連携したDynamic DNS(RFC 2136)を実現しています.そのため,仮想マシンにホスト名を設定すれば,自動的にホスト名で名前解決が行えます.しかし,インストール済みの仮想マシンは,全て同一のホスト名 cdsl-ubuntu が設定されています. そこで,今回は過去に作成したOSSである cdsl-research/nickns を使って「仮想マシンの名前」から「仮想マシンのIPアドレス」を解決し,仮想マシンにホスト名を割り当てます. 以下は,ホスト名を割り当てるために作成したシェルスクリプトです.nicknsへdigコマンドを使って名前解決し,そこで取得したIPアドレスへssh接続し,ホスト名を割り当てます.これにより仮想マシンにホスト名でアクセスできます. Dynamic DNSによるホスト名の割り当てはSlackへ自動通知しているため,実際に実行すると次のような結果が得られました. 最後に tmux-xpanes を使って作成した仮想マシン80台へ一気にSSHしてみました.さすがにディスプレイが小さいと限度があると感じました. 今後はAnsibleを使って自動で作業していこうと考えています. CDSLではこうした仮想マシンのプロビジョニングや自動化も行っています.興味があればぜひご連絡ください!

じこしょーかい!

初めまして!CS3年の梅田拓哉です。 ブログを書くようになってからの初投稿ということで自己紹介していこうとおもいます! 生年月日は1999年5月11日です。誕プレ待ってます(*^^*) 出身は埼玉県のさいたま市、好きな事は寝る事です。 あと、現在恋人募集中です←超重要 ブログに書くような事……なんでもいいと言うことで僕の「推し」について書こうかと思います。 僕の推しはMyDearDarlin’というアイドルグループに所属している「東條ゆりあ」ちゃんです。福岡県出身、1月24日生まれの19歳でつい2日前に成人式してました。 MyDearDarlin’は令和新時代の王道アイドルとして2020年に結成された東京を中心に活動しているアイドルグループです。 ゆりあちゃんは3K「かわいい かっこいい コミュ力最強」揃ったアイドルちゃんです。TwitterやInstagramもやってるので1度見てくれると嬉しいです。 上の写真はクリスマスにライブへ行った時に撮ったものです。ライブ後はこんな感じの写真とかチェキが取れる&お話も出来るのでチケ代もチェキ代も実質無料となってます! (初めてMyDearDarlin’見るよって人は2ショサインチェキ1枚無料券貰えます) 興味を持ってくれたらこの娘のTwitter、Instagramのフォローお願いします! Twitter: mydear2020_yuri Instagram: yurichoco___ おわり

自宅に Kubernetes 環境を構築した話

はじめまして, 3 年の森井佑誠です. 日々寒い日が続いてますが, いかがお過ごしでしょうか. 自分は死にかけてます. さて, タイトルにあるように自宅に Kubernetes 環境を少し前に構築しました. 当初は kubeadm を使って構築してましたが, 色々不都合があったので, 当研究室の共有 VM 上で使われている RKE2 という Kubernetes ディストリビューションを使って再構築しました. 現状はまだ Pod や Service をデプロイしていません (厳密にはデプロイしようとしたけれども PersistentVolume を設定してなかったためにデプロイができなかった) が, いつか何かデプロイしたいですね. 構築環境ですが, Gentoo (5.10.76-gentoo-r1) 上に Kubernetes を構築しています. 中々 Gentoo で Kubernetes 構築なんてないんじゃないかなあと思って興味本位でこの環境を構築しました. Gentoo では自前でカーネルコンパイルする必要があるので, Kubernetes 構築に必要なカーネルモジュール等を導入するためにカーネルのコンフィグいじったり等構築がまあまあ大変だった印象です (そこまでの過程は色々忘れてしまいましたが…). また, 現在はまだシングルノードクラスタなので, いつかマルチノードクラスタで動かせるようにしたいところではあります. 研究室では Argo CD が動いており, GitOps…

Read the full article

【バズ・ライトイヤーのアストロブラスターで10万点取る方法】

初めましてCS学部3年の廣居舜佑と申します。本日は通称「バズ」の攻略法を紹介します!! 東京ディズニーランドのトゥモローランドにあるバズ・ライトイヤーのアストロブラスターは、ディズニー/ピクサー映画『トイ・ストーリー』の“バズ・ライトイヤー”が活躍するアトラクションです! 搭載された“アストロブラスター(光線銃)”を使い、次々と現れるロボットや秘密兵器などのターゲットを狙う、シューティングタイプの参加型アトラクション! このシューティングゲーム非常に楽しい・・・!! 複数の的にそれぞれ点数が割り振られており、銃の光線が命中した場合のみ点数が加算される仕組みです! ここまでの説明を聞く限り簡単そうだなって思ったそこのあなた・・! 動く乗り物に乗った状態で的を狙う必要があるから超難しいよ!! 全然当たんないんだよね、最初 当たらな過ぎて銃バグってんじゃないのって思うレベル。。。 でも、気づいたら点数が入ってて謎!みたいなことが良くあります!! 仕様的に5回?10回?連射すると点数が加算される仕組みみたい そんなこんなでアトラクションから降りるときには1万点超えないことがほとんどなんですよね。 なんでかっていうと、狙いやすい的は点数が100点だったり1000点だったりで配点が少ないんですよ これじゃダメだということで、【攻略法】ここから喋ります!!! ●丸・・・100点 ■四角・・・1000点 ◆ひし形・・・5000点 ▲三角・・・10000点 まずはこれを覚えてください で何をすればいいかわかりますね?? そうです! 点数の高い的を狙うしかないです!! 点数が高い的をひたすら狙いましょう!!正直100点の的はスルーしていいです! そしてしっかり的に光線を当てることが重要になります。 銃に関してなんですが、トリガーを引くと赤い点を見ることが出来ます。この点が銃で当たっている場所になります。 なので、まず的がない空間に銃を試し打ちして銃の精度を確かめるところから始めましょう!!! そして、ここで朗報なのですが、このアトラクション内に5万点の的があります ええええええええええええええええええええええええええええええええええええええええええええええええええええええええええええええええええええええええゑえええええええええええええええええええええええええええええええええええええええええええええええええええええええええええええええええええええええええええええええええええ 1万点までの的しかないんじゃないの!? なんと敵のボス「ザーク」の胸の部分にある的に光線を命中させることが出来れば、5万点ゲットできます!! はい、素晴らしい。なんてすばらしいWonderful Day 取り乱しましたが、以上がアドバイスできることになります

WordPress移行アイキャッチ

WordPressサーバを移行しました。+自己紹介

はじめまして、8月にCDSLに配属されました高橋祐之介です。 この度、現在閲覧しているWordPressサーバの引っ越し作業を俊くんと一緒に行いました。 自己紹介 初めてのブログ投稿なので簡単な自己紹介をさせていただきます🙂 コンピュータサイエンス学部3年 高橋祐之介です。 現在、彼女はいません。クリスマスクルシミマス 生年月日:1999年7月1日血液型:A型出身地:山梨と千葉好きな時間:友達と美味しいものを食べている時間好きな食べ物:二郎ラーメン(ラーメン大蒲田店・ラーメン二郎めじろ台店・鷹の目川口店)趣味:車・バイク・バスを運転する事(ドライブが好き) 内定もらったら、MT車買いたいな。 時々、ブログ投稿を行う可能性があるのでよろしくお願いします! サーバの移行について 以前はGoogle Cloud Platform上でWordPressを運用していたのですが、2021年11月4日より、研究室内のサーバでの運用に切り替わりました。 研究室内の仮想サーバにWordPress用の仮想マシンを新たに作成し、WordPressの動作に必要なNginx・MySQLサーバ・PHPをセットアップした上で、Google Cloud Platform内のWordPressに関する、データベース(Mysql)・コンテンツ(写真やテーマ)の複製を行いました。 LAN内のPCから動作確認を行い、Google Cloud Platformのサーバに研究室の仮想マシンとのリバースプロキシを設定しました。 現在、このブログを閲覧している人は研究室内サーバからデータを取得しています。 構成図 切り替え前 切り替え後 サーバの移行後に感じた事 今回、WordPressサーバの移行を行い、サーバ運用の知識を得る事ができました。 私が個人で運営しているブログがあるのですが、レンタルWebサーバで運用している為、今回得た知識を生かして、VPSサーバに移行したいと思いました。 最後まで読んで頂いてありがとうございました🙏

自己紹介

初めてのブログ投稿ということで無難に自己紹介からさせて頂きます。2021年現在でCS学部3年の高橋風太と申します。出身は埼玉県川口市で、大学に到着するまでは家を出てからざっと2時間程かかる場所です。趣味は様々ありますが全て室内で完結できるタイプで、特に音楽を聴くことや作ること、シングルで遊べるPCゲームを好みます。作曲するとはいえ楽器は弾けませんし弾きたい気持ちもないので、マウスでポチポチ作曲してます。いわゆるDTMというやつです。自身の趣味について語り尽くそうと思うとテクニカルレポートレベルの分量になるため、この辺りにしておきたいと思います。最後まで読んでくださった奇特な貴方のご健勝を祈ります。

自己紹介

初めてのブログ投稿なので自己紹介をします。CS学部3年 小林竣です。 生年月日:1999年4月21日血液型:AB型家族構成:父,母,兄,私,弟好きな時間:夕日で空が赤い中、運転している時間好きな女性のタイプ:イケイケな女子と外見から判断されがちだが、図書館にいそうな女性がタイプ 私は出生地は異なるが山梨県都留市在住であり、大阪と東京のハーフです。山梨から学校に通うまで車で20分、電車で45-50分、スクールバスで17分とかなりの時間を有することから朝が早くて毎朝しんどさを覚えています。私は小学1年生から今現在までサッカーをやっており、ある程度の技量はあるかなぁって思ってます笑笑 プロになった仲間が帰ってきた時にホームグラウンドに集まってサッカーをしたときの画像です笑ちなみに私は真ん中でリフティングしてますね笑 研究室は忙しいと感じますが先輩が優しいので楽しく過ごせています!創生課題が無事終われるようこれから頑張っていきたいと思います!初投稿でした。

研究室を振り返って

学部4年の野木空良です.ブログの担当が最後になりそうなので研究室に配属してからの1年半を振り返ってみました.研究室では進捗報告会や論文輪講会など学校の授業では学べない貴重な経験をすることが出来ました.創成課題や現在も行っている卒業研究においても多くの先輩や同期に助けてもらいながら進むことが出来たので感謝しています!まだ卒業研究は完成ではないのでこれからも頑張りたいと思います.

ESP32並列処理のあれそれ

卒業研究を進んでいる今、実験用のデータを記録するプログラムと通信の役割を果たしているBLEプログラムを同時に走らせなければならない状況になりました。しかし、ESP32を制御するファームウェアmicropythonはどうやらマルチプロセスがサポートされていないようです。そのため、初めてマルチスレッドで並列処理によって実現する窮地に面しています。自分が見つかったESP32にマルチスレッドの実現方式は二つあります。一つはuaysnicoライブラリによってコルーチンという概念を入れた方法、もう一つは_threadライブラリでスレッドを直接に操作するような方法があります。 MicroPython Forum上にマルチスレッドの記事を探す途中で 「On ESP32, all MicroPython threads (of which there can be as many as you like) are pinned to the same core, and we rely on FreeRTOS to pre-emptively schedule them. They run with the GIL.」というコメントによって各タスクをスケジューリングして並列処理と同じく見えるように調整しなければならないらしいですね。GILとFreeRTOSどちらかも名前だけ知っている僕にとってはこれから時間をかけて、卒業研究を終わらせるように工夫していきたいと思います。

新たなサーバーの組み立て

こんにちは、今年度からCDSLに配属された富田です。自分も含めて研究室に14人配属され、サーバーを使う人が増えたため、新しくVMを立てるためのサーバーを組み立てる事になりました。 組み立ては新しく配属されたメンバーが中心となって組み立てられました。 サーバーのパーツは以下のとおりです CPU: Ryzen9 5950X メモリ: DDR4 Team 2666Mhz PC-4-21300 32GBを4枚 マザーボード: PRIME X570-P グラフィックボード: Geforce GT710-T1GB/HS SSD(SATA): 860 QVO ベーシックキット 1TB 電源: RM850X ニュースでもあるようにコンピュータのパーツの値段は軒並み上がっており、今回のパーツの総額はかなりのお値段になります。なので、下手な失敗が許されませんでした…。 先輩方のご協力を得ながら、なんとか完成させることができました! 今回組み立てたサーバーの名前はLotusとなりました。これまで組み立てたサーバーも花の用語を英単語にして名付けられているので、そのしきたりに従って名付けられました。 これから自分も含めて新しく配属されたメンバーは創生課題の授業として研究を行います。これまでの授業では経験したことがない課題発見能力や問題解決能力が問われ大変になるとは思いますが、今回のように先輩方に師事しながら乗り切りたいと思います。