タグ

sys*と*softwareに関するsh19910711のブックマーク (153)

  • ヤマハルーターの設定をAnsible化してみる

    ヤマハルーターの設定を変更する方法はいくつかあります。 Web GUI TelnetやSSHでのコマンド実行 Ansible これらの中では、コマンド実行によるものがメジャーで、私も実行するコマンドを適当なテキストファイルに保存して管理していました。 これでも不便はないのですが、とある事情で直近ルーターの設定を頻繁に調整することがあったので、気になっていたAnsibleでの設定方法を試してみました。 環境 コントロールノード ansible (2.12.4) ターゲットノード RTX830 (Rev.15.02.22) [1] やったこと 公式ドキュメントの手順に沿って作業を進め、IPoEの設定を自動化してみます。 楽天ひかりを利用しているので、PPPoEの接続も提供されていますが、IPoEでの接続を前提とします。 事前準備 ヤマハが提供しているAnsibleモジュールはコントロールノード

    ヤマハルーターの設定をAnsible化してみる
    sh19910711
    sh19910711 2024/06/07
    "Ansible化によるメリットは感じつつも、ヤマハルーターはconfigのインポートやコマンドを流しこむだけで設定を完結できる / コマンドをコピペで流し込んだ方が効率はいい" 2022
  • CockroachDB はどのくらい「しぶとい」のか? / How tough is CockroachDB?

    CockroachDB はどのくらい「しぶとい」のか? / How tough is CockroachDB?

    CockroachDB はどのくらい「しぶとい」のか? / How tough is CockroachDB?
    sh19910711
    sh19910711 2024/05/08
    "CockroachDB: 名前とロゴがヤバい分散SQLデータベース + Node数やReplica数の設定に応じていい感じに障害から生き残る / Split Brain: 障害の原因が「ネットワークの問題」であった場合、通信ができない2匹は問題なく動作していて"
  • サーバ再起動しても cron で Web アプリを雑に立ち上げ

    超楽にRubyで雑に書いたスクリプトをsystemdで管理したい! - 宇宙行きたい で systemd がユーザ権限で使えることを知る。 開発環境用では nohup と cron の @reboot を使っていました。こちらもお手軽なので紹介。 @reboot とは crontab(5) に @reboot があれば使えます。その名の通りリブート時に一回だけ実行。Ubuntu なら利用可能。 $ man 5 crontab (省略) Instead of the first five fields, one of eight special strings may appear: string meaning ------ ------- @reboot Run once, at startup. @yearly Run once a year, "0 0 1 1 *". @annual

    サーバ再起動しても cron で Web アプリを雑に立ち上げ
    sh19910711
    sh19910711 2024/04/29
    "crontab(5) に reboot があれば使えます / その名の通りリブート時に一回だけ実行 + Ubuntu なら利用可能 / これで apt upgrade の OS リブートも気軽に行えるようになり"
  • 特定ホスト名の通信だけVPN経由にするルータ設定(OpenWrt編) - hnwの日記

    自宅のルーターの設定で、普段の通信はデフォルトゲートウェイを使いたいけど、一部のホスト名の通信だけはVPNトンネルインターフェースを使いたい、という状況がまれにあります。一般的なニーズではないと思いますが、少なくとも私にはそういうニーズがありました。 IPアドレスごとに外向きインターフェースを切り替えたいのであればiptablesの設定だけで実現できます。一方で、ホスト名によってインターフェースを切り替えるのは一般的には困難です(ホスト名の解決はアプリケーション層で行われるのに対し、iptablesはネットワーク層・トランスポート層での処理になるため)。このような場合に、IPset経由でdnsmasqとiptablesを連携してルーティングを切り替える方法があります。稿ではこのやり方を説明します。 OpenWrtとは OpenWrtは組み込み用途のLinuxディストリビューションで、家庭

    特定ホスト名の通信だけVPN経由にするルータ設定(OpenWrt編) - hnwの日記
    sh19910711
    sh19910711 2023/03/28
    2021 / "IPset: IPアドレスやその他のネットワーク情報を高速に検索できるLinux上のオンメモリデータベース + iptablesと組み合わせて使う前提の仕組み / IPset経由でdnsmasqとiptablesを連携してルーティングを切り替え"
  • 名称未設定.entry : 404 Blog Not Found

    2005年12月18日19:57 カテゴリLogos 名称未設定.entry そう言い切ってしまうのは、名前の一面しか見ていない証拠だ。 Zopeジャンキー日記 :なぜネットではディレクトリが敗れ、サーチとタグが勝利するのか ネットでディレクトリが敗れ、サーチとタグが勝利するのなら、 1台のPCの中でもそうなるのは時間の問題だという気がする。 言語ゲーム - 無名ファイルシステムファイルは無名であるべきである。名前は単なる識別子ではないことを失念しているのではないか。 言語ゲーム - 無名ファイルシステム そこで、ファイルは無名を基とする。ファイル名の代わりにそれぞれのファイルに重複しないIDを付加し、参照するときはIDを使う。ファイル名とIDの違いは、ファイル名はディレクトリが持つのに対し、IDはファイル自身が持つ。勿論、ファイル名があっても良い。プログラマにはファイル名は非常に便利な

    名称未設定.entry : 404 Blog Not Found
    sh19910711
    sh19910711 2023/02/27
    2005 / "HFS(HFS+): OS X以前のMacのファイルシステム + ファイルを参照する時にはファイル名ではなくFRefNumという識別子を使う / ファイル名に識別子としての機能だけではなく、そのファイルが持つ役割を表す機能もある"
  • 100台くらいスケールする“Kubernetesもどき”を自作してみた!

    この記事はFIXER Advent Calendar 2022 技術編 23日目の記事です こんにちは、毛利です。この記事では、最近趣味で自作し始めてしまったコンテナオーケストレーションシステム(+分散Key Value Store)の話をします。つまるところKubernetesのようなものを自作し始めた話です。 背景 要約:素のKubernetesは料金が高くなりそうだったので、趣味用に安く済むKubernetes環境が欲しかった。あと自作対象として興味がちょうどよかった。 みなさんは趣味用のサーバー等ありますでしょうか? 自分は学生時代からConoHa VPS(コンビニ支払いできるのが学生にやさしい)、最近はAzureも使っています。管理方法ですが、最初のころはサービスをホストに直置き、途中からdocker-composeを使うようになり、しばらくそれで管理していました。最近は業務でK

    100台くらいスケールする“Kubernetesもどき”を自作してみた!
    sh19910711
    sh19910711 2023/02/22
    "liveness probeの概念を知ったときPod側から生存確認信号みたいなのを送る方式ではないのが不思議でした / 分散アルゴリズムを実装してみてバグらせまくって、TLA+等による検証の重要性がわかるといいなぁみたいな気持ち"
  • MySQLのパケットを読んでいく - tom__bo’s Blog

    この記事はMySQL Casual Advent Calendar 2018 10日目の記事です。 最近golangMySQLのclient/serverプロトコルのでシリアライザを作っていて、この記事ではclient/serverプロトコルを解説しつつ、そのデシリアライザの紹介をしようと思っていました。 ですが、思っている以上に進捗出せなかったので、今回はMySQLのpacketを読む面白さと参考にすると良い資料を紹介しようと思います。 なんでパケットを読むのか MySQLの通信プロトコルを知ることでMySQLの運用が楽になったり、知らないと困るようなことはまずありません。 とはいえ、プロトコルを解釈できればclient/server間の通信を中継したり、キャプチャすることで分析することができます!! 僕がプロトコルを理解しようと思ったきっかけは、プロダクション環境で実行されているクエ

    MySQLのパケットを読んでいく - tom__bo’s Blog
    sh19910711
    sh19910711 2022/09/19
    2018 / "通信プロトコルまでドキュメントになっているミドルウェアはそう多くないと思っていて(当社比)、プロトコルに関してもここまで整備がされているのはMySQLの良さの一つ"
  • sshuttleでDNSリクエストを転送する - ぶていのログでぶログ

    VPNからsshuttleに切り替えてから、不便だなぁと思っていたのはDNSリクエストを転送できないことだった。 VPNの接続先のDNSサーバに接続して、リモート先の内部で利用しているドメインを正引きするのに使っていた。 sshuttleはSSHのポートフォワードを元にしたツールなので、UDPなDNSリクエストを転送できないと思いこんでいた。 が、なんとDNSリクエストを転送できることに気がついた! --dns capture local DNS requests and forward to the remote DNS server --ns-hosts IP[,IP] capture and forward DNS requests made to the following servers --to-ns IP[:PORT] the DNS server to forward re

    sshuttleでDNSリクエストを転送する - ぶていのログでぶログ
    sh19910711
    sh19910711 2022/08/04
    "--dns を指定していると、ローカル環境のDNSリクエストをリモートのDNSサーバに転送 / DNSサーバへのリクエストをiptablesを使ってshuttleのトンネルにリダイレクト / --ns-hosts: 指定したIPへのDNSリクエストのみ転送"
  • 退屈な監視はPrometheusにやらせよう――アプリケーションエンジニアのためのcustom metrics入門 - LIFULL Creators Blog

    エンジニアの島です。AI戦略室でバックエンドシステムの開発をしています。 記事ではPrometheusを利用して、独自のメトリクスを計測することで監視を効率よく行えることを紹介します。 背景 チームで作っているもの 社内共通基盤の活用 効果的な監視で得られるもの 問題の予兆に気付けるようになる 問題の原因特定につながる 時系列での傾向を把握できる Prometheusとは 思想 メトリクスの公開 custom metricsを追加しよう Prometheusで監視しよう custom metricsで計測すると嬉しいもの 外部IOに関して 内部状態に関して 外部起因ではないアプリケーションのエラーの数 有効データのうち、モデルが値を返せている割合 機械学習モデルのスコア(histogramを利用) そのほか 終わりに 最後に宣伝 背景 チームで作っているもの LIFULLのAIチームでは

    sh19910711
    sh19910711 2022/07/10
    "効果的な監視で得られるもの: 問題の予兆に気付ける + 問題の原因特定につながる + 傾向を把握できる / 仮に問題がなかったとしても、「問題はそこではない」という貴重な情報が得られます"
  • 研究室の思い出 印刷された大量のソースコード - yunomuのブログ

    2004年頃、大学4年で研究室に配属され、OSとネットワークの研究室でちょっと専門外の機械学習の研究をしていた。配属直後なので研究というより概念のお勉強から始まる。 その研究室では既に10年続くプロジェクトもあり、打ち合わせのために作られた大量の検討資料がファイルに綴じられて棚に刺さっていた。しかしよく見ると半数以上のラベルがプロジェクト名ではなく、「FreeBSD src/sys/alpha」とか「FreeBSD src/sys/boot」とか、何かのパス名みたいなものだった。そういうファイルが棚の1列分以上ある。なんだこれ、と思って先輩に聞いてみた。 「あのファイル何なんですか?」 「あーそれ、俺が印刷した」 この研究室は私が配属される2年前に教授が他の大学から移られてきてできたものであり、先輩は何もわからないままその研究室に入った人だった。教授が前にいた大学に研究室の先輩と言える

    研究室の思い出 印刷された大量のソースコード - yunomuのブログ
  • cURLはHTTPだけじゃない

    フロントエンドやバックエンドのエンジニアにとってcURLといえばHTTP(S) おもむろに historyしてみても、皆さんHTTPの通信しかしてないんじゃないでしょうか。 cURLって実は結構凄いんです。いや、ほんと。 cURLはHTTP(S)だけじゃない!cURLのmanpageには下記の文章があります。 curl is a tool to transfer data from or to a server, using one of the supported protocols (DICT, FILE, FTP, FTPS, GOPHER, HTTP, HTTPS, IMAP, IMAPS, LDAP, LDAPS, POP3, POP3S, RTMP, RTSP, SCP, SFTP, SMB, SMBS, SMTP, SMTPS, TELNET and TFTP). The c

    cURLはHTTPだけじゃない
    sh19910711
    sh19910711 2021/02/20
    "メールが送信できない、SSHが繋がらない、そんな時には curl があります"
  • etcd総選挙を眺めてみる - Qiita

    はじめに (2015/09/20追記) 初出時はv0.3.0くらいだったetcdも今の最新は2.2.0。起動時のオプションやAPIも非互換な形で変わってしまっているので、最新に合わせてお試し部分を少し修正。(@takiuchiさん、ご指摘ありがとうございます) etcdとRaft etcdはCoreOSで使われている軽量KVSで、Configurationなどの情報を複数のマシン間で共有できるようにする仕組みみたい。/etcに置かれた設定ファイルの置き換え的な意味合いで "etc" daemonなのかなと思ったが、語源を発見できず、もしかしたらぜんぜん違うかもしれない。 ともかく、etcdはKVSでありながら複数マシン間でのreplicationを実現している。まぁ、そんなKVSは沢山あるが、etcdで取っているアプローチがやや面白かったのでちょっと調べてみた。 まず、基になる考え方が、

    etcd総選挙を眺めてみる - Qiita
  • mod_proxy_htmlを使ってみた - Qiita

    前回はmod_proxy_htmlについて説明しました。今回はmod_proxy_htmlの具体的な設定について載せていきます。 mod_prxoy_htmlはリバースプロキシサーバーに組み込むモジュールのため、前回の説明に使った構成図の環境を作成する流れで説明します。 システム構成 システム構成はmod_proxy_htmlがインストールされたリバースプロキシ、アプリケーション1、アプリケーション2の3つの環境です。 リバースプロキシの環境は CentOS7 を使用します。 アプリケーション1、アプリケーション2は何でも良いのでWebサーバーを動かしておきます。(記事では割愛します。) mod_proxy_htmlのインストール mod_proxy_html を実際に試してみましょう。mod_proxy_html は CentOS7 の標準パッケージに含まれているのでyumコマンドでイ

    mod_proxy_htmlを使ってみた - Qiita
    sh19910711
    sh19910711 2020/12/12
    URLの変換ができる
  • 極めて速いストレージとの付き合い方 - Speaker Deck

    いまどきのツンデレSSDにデレてもらうためにはどうすれば良いかを解説します これは2018年9月22日に行われた カーネル/VM探検隊@関西 9回目 での発表資料です サンプルコード: https://github.com/Fadis/spdk_sample

    極めて速いストレージとの付き合い方 - Speaker Deck
  • eBPFを用いたトレーシングについて

    2020/5/25(月)、さくらの夕べ Tech Night #1 Onlineでの発表ですRead less

    eBPFを用いたトレーシングについて
  • eBPF+USDTでphpをトレースしてみる、bpftaceとRbBCCでやる - ださろぐ@はてな

    最近プロダクション環境での諸々の調査に使いたいというモチベーションで BPF Performance Tools (Book) 読み進めつつ、提供されているbcc-toolsを試したりbpftraceでlibほげほげの関数パラメータを抜いたりしていた、のだがUSDTを使用したトレースはうまく動かせず悶々としていた。 正直USDTはパッケージ入れておけばいきなりproductionでさくっと使える、という感じでもなく当初の目的からはやや外れているのだが、機構があるのに動かせないというのはなんとももどかしいので、諸々試行錯誤してとりあえず動いた、というころまでの記録を残しておく。対象はphpで。 なぜphpなのかというと、プライベート的にもお仕事的にも馴染みがありワンチャン使える可能性もあるのでは・・という期待と、ツールを試す過程で標準パッケージのphpで $ tplist-bpfcc -l

    eBPF+USDTでphpをトレースしてみる、bpftaceとRbBCCでやる - ださろぐ@はてな
  • Linux でデバイスを接続している時だけ動くサービスを作る - Qiita

    systemd と udev を使うと、とあるデバイスを接続すると動き始め、切断すると停止するようなサービスを作る事が出来る。 サンプルのサービスは何でも良いが 前に作った /usr/bin/timeserver.py を使う。 #!/usr/bin/env python # Time server program import socket import datetime import sys HOST = '' # Symbolic name meaning all available interfaces PORT = 50007 # Arbitrary non-privileged port s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) s.setsockopt(socket.SOL_SOCKET, socket.SO_

    Linux でデバイスを接続している時だけ動くサービスを作る - Qiita
  • digとtcpdumpを利用してDNSの反復問い合わせの挙動を確認しよう | DevelopersIO

    こんにちは。サービスグループの武田です。 インターネットを利用する上で必要不可欠なしくみとしてDNSDomain Name System)があります。DNSホスト名からIPアドレスを調べる名前解決のしくみですね。それではこのDNSというサーバは実際にどのように名前解決を行っているのでしょうか? 今回はコマンドを使って、簡単に挙動を確認してみましょう。 なおこの記事では、DNSサーバが階層構造となってドメイン管理をしていることの説明はしません。 問い合わせには2種類ある DNSサーバは実際にレコードを保持して管理する DNSコンテンツサーバ と、コンテンツは保持せず問い合わせの解決と結果をキャッシュする DNSキャッシュサーバ があります。一般的にクライアント(DNS用語では スタブリゾルバ と呼ぶ)はDNSキャッシュサーバに対して問い合わせを行います。 さてDNSキャッシュサーバはコン

    digとtcpdumpを利用してDNSの反復問い合わせの挙動を確認しよう | DevelopersIO
  • Formalization and Proof of Distributed Systems (ja)

    分散システムの形式化と証明について @情報システム特別講義D 2016年度筑波大学

    Formalization and Proof of Distributed Systems (ja)
  • Coordination Service(ZooKeeper,etcd ,consul) の比較

    概要 最近,consul,etcd,ZooKeeper といった,いわゆる Coordination Service(この名前は ZooKeeper の論文から拝借した)の実装が頻繁に行われている.記事では,開発が盛んな背景を踏まえた上で,オープンソース実装の Coordination Service の比較を行う. Chubby から現在まで Paxos が Google の手によって Chubby という形で実用化された後,故障検出+分散合意アルゴリズムを用いた高可用KVSという組み合わせによる Coordination Service のオープンソース実装がいくつが出てきた.そのはしりが ZooKeeper である.ZooKeeper は Hadoop ファミリではデファクトスタンダードの Coordination Service であり,Hadoop を初めとして HBase,M