Linux

CentOS7/UbuntuからWindows10のPCをリモートシャットダウンしてみる

Windows側 管理者権限+パスワード設定がしているアカウントを作成する(既にある場合はスキップ) TCP:445, 139 を開ける Linux側 コマンドを入れる Debian系:apt install samba-common RHEL系:yum install samba 実行する net rpc shutdown -I ipaddress -U "username%password" -f -t 0 -C "Shutdown"

Raspberry Pi Zero で温度センサーと赤外線センサーを使ってサーバーとネットワーク機器を自動で冷やしてみた

Raspberry Pi Zero を買って放置したまま1年経ち、 夏を前にサーバーの冷却を考えていたのでタイトル通り、 Raspberry Pi と 温度センサー&赤外線センサーを使って夏を乗り切ろうっていう記事です。 ちなみに結局温度センサーは接続したものの 今回はCPUの温度やSSDの温度をトリガーとして赤外線センサーを使うので 使いませんでした?   Canon IXY 430F (4.3mm, f/2.7, 1/30 sec, ISO500)ちなみに僕は電子工作に関して全く知識がありません。 抵抗値の計算すらできません。それでもできたのでネットは偉大ですね。     買ったもの Canon IXY 430F (4.3mm, f/2.7, 1/30 sec, ISO400)・1/2W 100Ω ・1/2W 1kΩ ・ADT7410 温度センサー ・OSRB38C9AA 赤外線リモコン受信モジュール ・OSI5LA5113A 赤外線LED ・OSI5FU5111C-40 赤外線LED 何となく2種類買った ・EIC-801 ブレッドボード ・ブレッドボード・ジャンパーコード     接続 Canon IXY 430F (4.3mm, f/2.7, 1/30 sec, ISO320)基本的に赤外線LEDは1つが良い(波形が安定する?)らしいのですが 赤外線LED自体の有効照射範囲(?)が15°とかなので3つぐらい設置してみました。 ちなみに抵抗の接続の仕方などは計算ツールみたいのを使った結果を 何となく配置しただけです。 ジャンパーコードは オス – オス を買い忘れたので 抵抗の足を使いました?     WiringPiで制御する ここがとても参考になりました。 http://www.feijoa.jp/laboratory/raspberrypi/infrared2/ LIRCがも何のか分かってないけど ネットで引っかかるLIRCを使った記事ではうまくいきませんでした。     シェルスクリプトでエアコンを操作する [crayon-5b2a6f2452518091971258/]     Zabbixのメディアタイプに登録する Zabbixのメディアタイプに登録します。 手順は面倒なので割愛です。     トリガーを作成する 今回はサーバー、ルーター、スイッチのCPU温度のいずれかが 60℃を超えたらエアコンがONになるって感じ。     アクションを作成する トリガー名にEaconを含めておけば、アクションもこんな感じで設定できます。     動作確認 動画を撮って載せるのは面倒くさいのでしないんですけど エアコンを切って家をでるとSlackから通知がきます。 数分後に温度を確認すると60℃を下回っていい感じ。   素晴らしい~~~ ただ、このまま運用すると 60℃超える → エアコンON → 59℃辺りになる → エアコンOFF(ループ) となるので閾値だったり、トリガー条件をもうちょっと考えないとダメですね。

激安3D NANDなNVME SSD「ADATA ASX8000NP-128GM-C」を2台でベンチマークとってみた

ベンチマークを”とる”の漢字ってどれが正しいのか 毎回迷う。 3D NANDでNVME SSDを2つ手にしたので fioを使ってベンチマークを取ってみたいと思います。   構成 Canon IXY 430F (4.3mm, f/2.7, 1/30 sec, ISO100) Canon IXY 430F (4.3mm, f/2.7, 1/30 sec, ISO100) ADATA ASX8000NP-128GM-C ×2(M.2 -> PCIe変換カード) RAIDZ-1(ZFS) Proxmox(Debian) Xeon E5-2650 Memory 32GB 今回はブートディスクではなく、ZFSを使ってRAID1環境です。 RAID0ではないのでご注意ください。   ベンチマーク 今回はWindowsではなくLinux環境なので fioを使ってベンチマークを行いました。 オプションとしてbs=4k, jobs=64となっています。 ※書き込み速度に関してはチューニングをしていないので 信用しないでください。   シーケンシャル リード [crayon-5b2a6f2452842292705555/] IOPS : 701270 bw : 2739.4MB/s   シーケンシャル ライト [crayon-5b2a6f2452850862484818/] IOPS : 258093 bw : 1008.2MB/s   ランダム リード [crayon-5b2a6f2452855504447758/] IOPS : 731567 bw : 2857.8MB/s   ランダム ライト [crayon-5b2a6f245285c328682457/] IOPS : 14872 bw : 59489KB/s   まとめ 種類 IOPS スループット(MB/s) レイテンシ(usec) Seq Read 701270 2739.4 50usec Seq Write 258093 1008.2 100usec Rand Read 731567 2857.8 20usec Rand Write 14872 59.49 50msec ※書き込み速度に関してはチューニングをしていないので 信用しないでください。 書き込み速度に関してはZFSのsyncがenableな状態でとったので 激遅になっています。 購入当時、このSSDは9,000円を切る価格で3D NAND + NVME 1.2が搭載されており コストパフォーマンスが優れているSSDだと思います。 それでも10,000円を切っているのでオススメです。 熱はそこそこ高く、冷却もきちんとしないと サマールスロットリングが発生してしまうので注意が必要です。

ファイルサーバーに使うブートディスクはUSBメモリでも良いのでは感

大学4年生になったら履修する科目は無かったはずなんですが 今年も2年生に混じって微積IIを履修することになりました。   動機 今までファイルサーバーには8GB SSDを2つ載せてRAID1で組んでいたのですが ケース内を圧迫され、HDDを積めなくなるのは嫌だったのでUSBメモリで運用してみました。   使用するUSBメモリ SanDisk Extreme USB3.0 フラッシュメモリー 32GB 型番:SDCZ80-032G-J57 ファイルサーバーとだけで使用するなら8GBでも十分なんですが PT2/PT3とかMirakurunとか載せる場合は32GBぐらいないとキツイかもしれません。   CentOS 7.3.1611をUSBにインストールしてみた [crayon-5b2a6f2452b0d130376336/] インストール直後はちょっと言い過ぎたんですが インストール直後にyum updateした後は1.8GBぐらい使用していました。 余裕を持って32GBぐらいにしておくと良いかもしれない。   fioでベンチマーク USBメモリなので関係ないのかな?って思うんですが non-bufferredです。 Seq Read bs -> 4k, jobs -> 64 [crayon-5b2a6f2452b18745900644/] IOPS: 15173   Seq Write bs -> 4k, jobs -> 64 [crayon-5b2a6f2452b1c040869607/] IOPS: 11914   Rand Read bs -> 4k, jobs -> 64 [crayon-5b2a6f2452b24688607076/] IOPS: 3057   Rand Write bs -> 4k, jobs -> 64 [crayon-5b2a6f2452b2a876319018/] IOPS: 1604   まとめ 種類 IOPS スループット(KB/s) スループット(MB/s) レイテンシ Seq Read 15173 60693 60.7 10msec Seq Write 11914 47660 47.7 10msec Rand Read 3057 12231 12.2 50msec Rand Write 1604 6416.6 6.4 50msec ファイルサーバーでしか使わないなら必要十分だと思います。 心配性の人はUSBを数本用意してRAIDで運用したら楽しいかもしれません?

Ubuntu 16.04 LTS で PT3 / PT2 のドライバーがインストールできない問題「error: implicit declaration of function ‘vmalloc’」

エラーログ [crayon-5b2a6f2452d26507267019/] Kernel 4.2 から <asm/io.h> からの include で vmalloc.h が削除されたので使うためには明示的に追記する必要があるらしい。 参考 – https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=d6472302f242 ということで、ファイルを書き換えます。     pt1_pci.c を書き換える [crayon-5b2a6f2452d32695442767/] 5行目ぐらいに追加して make をすると通ると思います。

no image

脆弱性スキャナ「vuls」を cron で定期的にスキャンする

バイト先で動いているサーバーが多いため脆弱性に関しては大きく問題にならないと気づかなかったりします。 そんな中で便利なツールを見つけた。   @kotakabe さんという日本人が作ったものなので日本語もサポートされています。 日本語の脆弱性情報をJVNから取得し、スキャンを行った結果を Slack に通知することも可能!     環境 ・CentOS 7.2.1511 ・go1.6.2   Golang のインストール 現時点(2016/05/17)での最新は 1.6.2 でした。 最新版は公式サイトで確認してください。 [crayon-5b2a6f2452eab667891727/]   Go 用のワークスペースの作成 [crayon-5b2a6f2452eb5672088542/]   Go 実行パスの設定 /root/.bashrc に下記を追記 [crayon-5b2a6f2452eb7826080740/]   設定の反映 [crayon-5b2a6f2452eb9186988969/]   動作確認 [crayon-5b2a6f2452ebb306703113/] 問題なく表示できれば Golang のインストールは終了です。     go-cve-dictionary のインストール 脆弱性情報をダウンロードして、サーバーモードで起動することで 簡単に参照ができるといったもの。 [crayon-5b2a6f2452ebd651594788/]   JVNから日本語の脆弱性情報を取得 1時間以上かかります。 カレントディレクトリに cve.sqlite3 ができていることを確認。 [crayon-5b2a6f2452ebf983585321/]   サーバーモードで起動する [crayon-5b2a6f2452ec0248760135/] ここで # ls とか適当なコマンドを打てば入力待ちに戻れます。     vuls のインストール [crayon-5b2a6f2452ec3443264247/]   設定ファイルの作成 cve.sqlite3 と同じディレクトリに作成しておきましょう。 [crayon-5b2a6f2452ec4068020396/] スキャンした結果を Slack へ通知してみます。 その他詳しい通知の仕方は Github を見て下さい。   前準備 [crayon-5b2a6f2452ec7567690679/] 前もってリモート先に yum-plugin-security と yum-plugin-changelog がインストールされます。   実行 [crayon-5b2a6f2452eca745886028/] と実行すれば結果が表示されると思います。 その他のオプションについては # vuls scan -h で見れます。 [crayon-5b2a6f2452ecc372556742/] こんなエラーが表示された場合は # go-cve-dictionary server がきちんと動いているか確認しませう。 buri ちゃんはどっかの企業のBOT名からパクりました。 バイト先で多分活躍してるであろう buriちゃん です。 Web のように脆弱性が見つからなかった場合は上記のように。 脆弱性が見つかるとスコアが高い順に表示されます。     定期的に実行をする 本題はここからです。 もちろん cron を使用して行いますがどうも # go-cve-dictionary server のプロセスが定期的に死んでしまい、スキャン前に実行するようにしないといけません。(何か知っている人がいれば教えて下さい) [crayon-5b2a6f2452ece725090588/] 毎日午前3時に定義ファイルを取得し、午前8時55分にサーバーを起動し、午前9時にスキャンをするようにしてます。…

Linuxでマウント出来て、Macでマウント出来ない時に確認すべき114514点

最近、肌寒い日が多くなって暖かいお茶が美味しく感じますね♡ MacBook カッターマット を買ってからどうもNFSがマウント出来なくて 色々調べてるうちに解決したので何となく書いてみます。     概要 外部にあるNFSサーバーを、CentOSからマウント出来るのにMac OS Xからは出来ない。 [crayon-5b2a6f245310a276427375/] こんな感じに接続が拒否られる。   原因 ほとんど不明(調べてない) 純粋にバージョンによる差異とかかな…。   対処 神サイト見つけてしまった。 Linux Iptables Allow NFS Clients to Access the NFS Server これの通りしていけばMac側でもマウント出来るようになりました。 iptables側はmultiport使うと便利。 [crayon-5b2a6f2453114795712806/]  

補助電源なし USB3.0カードを購入してみた「inateck KT4005」 on linux

サーバーの仮想アプライアンスで Proxmox を使っていてどうでもいい KVM を建てるときに外付けHDDを USB2.0 で接続していましたがせっかく外付けHDDのケースが USB3.0 に対応していたのでサーバー側にも USB3.0 を追加してみたかった。   inateck KT4005 Amazon で 1,600円と安価な製品     付属品 ・マニュアル ・よくわからない紙 ・ドライバーCD ・スロットに固定用のネジ ・本体 ロープロ用のブランケットは付属していません。 そもそもロープロに対応出来る長さなのか?     補助電源を必要としない USB3.0 4ポート PCIExpress x1 接続     補助電源なしタイプのものなので、スロットだけで外付けHDDは動かせるのかなと微妙なところ USBケーブルが2股に別れてるものだったらパワー用のケーブルをどっかしらに繋げばいけるかも。 PCIExpress x1 から供給される電力は 10W or 25W 一般的な外付けHDDで消費電力は多くて20W ぐらい(適当)なので多分きつい。 今回接続してるのは裸族の2つのHDDを載せられて別々に管理できるやつ [note] PCレスで安価にHDDを丸ごとコピーしよう!「玄人志向 KURO-DACHI/CLONE/U3」を買いました。 [/note] こういう類の製品多くて便利なのでひとつ持っておくといいですよ! あと聞いた話ですがマザーボード単体の機能でクローンが作れるのがあるみたいですね ASRock     搭載されてるコントローラーは NEC uPD720201 Linux Kernel 2.6.31 でサポート済みらしいってことで     Dell PowerEdge 2950 に挿してみる。 サーバー製品は色々とメンテナンスのしやすさがすごい便利で拡張スロットもネジなしで固定出来る(そういう一般向けのケースも多いけど) [note] 部屋にラックサーバーを置いたら家を追い出された。「DELL PowerEdge 2950」を買ってみた。 [/note] OSは Proxmox VE 3.3 で Debian ベースの仮想アプライアンス カーネルは 2.6.32 なので何もしなくても認識するはず。     [source] #lsusb 0c:00.0 USB controller: Renesas Technology Corp. uPD720201 USB 3.0 Host Controller (rev 03) [/source] ということで普通に認識しました。