タグ

ブックマーク / blog.cybozu.io (7)

  • MySQL 8.0 への移行が完了しました ~さようなら全ての MySQL 5.7~ - Cybozu Inside Out | サイボウズエンジニアのブログ

    こんにちは。クラウド運用チームの飯塚です。 私たちは cybozu.com 番環境の MySQL を昨年末から順次 8.0 系へアップグレードしており、前回の定期メンテナンスにおいて全てのインスタンスのアップグレードを完了しました。この記事では、私たちが MySQL 8.0 への移行に取り組んだ理由と必要になった対応について紹介します。 なぜ MySQL 8.0 へ移行したのか GTID-based レプリケーションにおける制限の緩和 再起動時に AUTO_INCREMENT のカウンタが巻き戻る問題の解消 実際に対応が必要だった MySQL 8.0 の変更点 utf8mb4 の照合順序のデフォルト値の変更 SQL_CALC_FOUND_ROWS と FOUND_ROWS() が deprecated に Connector/J のメタデータ取得処理の性能低下 sys.innodb_lo

    MySQL 8.0 への移行が完了しました ~さようなら全ての MySQL 5.7~ - Cybozu Inside Out | サイボウズエンジニアのブログ
  • MySQL のレプリケーションから10年間逃げてきた我々が学んだこと8選 - Cybozu Inside Out | サイボウズエンジニアのブログ

    こんにちは。クラウド運用チームで SRE をしている飯塚です。 今回は、MySQL のレプリケーション機能を約10年もの間ずっと使ってこなかった私たちが、レプリケーションを使った高可用性構成に移行するための取り組みの中で学んだことについて紹介します。 背景 巨大なテーブルへの primary key の付与 トランザクションサイズが大きい場合には tmpdir に注意 mysqldump絵文字が消えていないか要チェック mysqldumpError 1412: Table definition has changed... で失敗する mysqldump したデータのリストアが Duplicate entry 'xxx-yyy-PRIMARY-n_diff_pfx01' for key 'PRIMARY' で失敗することがある mysqldump したデータのリストア時のディスク

    MySQL のレプリケーションから10年間逃げてきた我々が学んだこと8選 - Cybozu Inside Out | サイボウズエンジニアのブログ
    halfrack
    halfrack 2020/10/27
    10年逃げ続けたことの方が凄い / それはそうとして新鮮ないい記事
  • ルーティングソフトウェア BIRD の使いかた - Cybozu Inside Out | サイボウズエンジニアのブログ

    Neco プロジェクトの ymmt です。記事では Neco のネットワークの実装を理解するために、ルーティングソフトウェアである BIRD の仕組みと設定方法を解説します。 公式文書がすこしとっつきにくいので、こちらを読んでから公式文書にあたるとスムーズに理解ができると思います。見所は、Invalid NEXT_HOP への工夫をこらした各種対処方法です。 以下、社内向けの解説文書からコピペしているので文体が変わります。悪しからずご了承ください。 BIRD とは アーキテクチャ 重要な機能 プロトコル トラブルシューティング 備考 まとめ BIRD とは BIRD は Linux 等で動作する BGP や RIP などのルーティングプロトコルを実装したプログラムである。2018 年 10 月時点の最新版は 2.0.2 で、2.0 と 1.6 の両系列がメンテナンスされている。 記事の

    ルーティングソフトウェア BIRD の使いかた - Cybozu Inside Out | サイボウズエンジニアのブログ
  • mdadmの検証中に発見したバグと今後の取り組み - Cybozu Inside Out | サイボウズエンジニアのブログ

    はじめに こんにちは、技術顧問の武内です。 Linuxにはmultiple devices(以下md)と呼ばれるソフトウェアRAID機能があります。この機能はmdadmというツールを使って管理します。サイボウズのSREチームは、Ubuntu16.04のmdadmを検証をした際に次のような2つのバグを発見しました。 mdのresync*1時に使うwrite intent bitmap*2(以後bitmapと表記)のサイズが所定量を超える場合、mdを構成するストレージデバイスに不良セクタを検出した際にbitmapを破壊する mdのサイズ拡張時にbitmapの付与に失敗する これに関して、エントリでは、次のようなことをお伝えしたいと思います。 これらのバグが具体的にどういうものなのか サイボウズはこのよう場合に、自分たちが使うものだけを修正するのではなくupstreamのOSSを修正するという

    mdadmの検証中に発見したバグと今後の取り組み - Cybozu Inside Out | サイボウズエンジニアのブログ
    halfrack
    halfrack 2017/10/30
    ディスクがデカい場合に write intent bitmap が破壊される、悪夢っぽい。
  • 社内利用のための deb パッケージング入門 - Cybozu Inside Out | サイボウズエンジニアのブログ

    こんにちは。@nojima です。 最近、社内のアーティファクトの deb 化を推進しています。 Building Microservices でも紹介されているように、deb は apt-get install でインストールできたり、依存関係を自動で管理できたりするため、単純な tar.gz を使うよりも利点が多いです。 Debian 界隈では dpkg-buildpackage などのツールを使って、ソースコードのビルドから deb の作成までを一貫して管理することが一般的です。 しかし、既にソースコードのビルドを行う仕組みを持っている場合、既存のビルド手順をそのまま使いつつ deb パッケージを作成したい場合もあります。 そこでこの記事では、ビルド済みのバイナリがあるときに、それを deb パッケージ化する方法を紹介します。 ※ この記事で紹介する方法は主に個人や社内で利用する d

    社内利用のための deb パッケージング入門 - Cybozu Inside Out | サイボウズエンジニアのブログ
  • conntrack がロードされたサーバで LVS-DR を構成する場合の注意点 - Cybozu Inside Out | サイボウズエンジニアのブログ

    こんにちは。インフラ開発チームの深谷です。 Linux の conntrack モジュールがロードされたサーバーで、レイヤー4 (L4) ロードバランサを LVS-DR で構成したところ、 パケットフィルタが正常に働かず、通信はできるものの、一部のパケットは落ちるという挙動に悩まされました。 今回はこの問題について詳細に解析し、原因と対策がわかったのでご紹介いたします。 発生した問題 今回の問題は、Ubuntu を使って L4 ロードバランサを実装している時に遭遇しました。 構築したロードバランサには、セキュリティ対策のため iptables のラッパーである UFW を使って、 パケットフィルタをかけていました。 ロードバランサの実装には、Linux カーネルに実装されている LVS を使いました。 LVS ではいくつかのパケット転送方式をサポートしており、今回はパフォーマンスに優れる

    conntrack がロードされたサーバで LVS-DR を構成する場合の注意点 - Cybozu Inside Out | サイボウズエンジニアのブログ
    halfrack
    halfrack 2016/02/04
    内部実装の概要が丁寧に解説されていて良い。 conntrack と ipvs 相性悪いよねぇ。
  • 半年かかったバグ調査の顛末は - Cybozu Inside Out | サイボウズエンジニアのブログ

    サイボウズ・ラボの光成です。 今回は原因究明に半年以上かかったバグ調査の紹介をいたします。 弊社はクラウドサービスcybozu.comを提供しています。 クラウドサービスでは障害対策のためのデータバックアップやレプリケーションが必須です。 現在ラボの星野がメイン、私はサブとして弊社サービスでの利用を目指した次期バックアップシステムWalB(GitHub)を開発しています。 WalBは、ファイルシステムとdiskの間に入ってIOを全て記録するブロックデバイスとIOのログを管理するツールからなるシステムです。 詳細はリンク先をごらんください。 発端 去年はラボ内の開発環境でテストを進め、社でテスト運用を開始するのが目標でした。 ところがラボでテストを開始して4カ月後の2015年4月、不正なlogpackが検出されました。 logpackとはWalBで用いられるデータフォーマットの一つです。

    半年かかったバグ調査の顛末は - Cybozu Inside Out | サイボウズエンジニアのブログ
    halfrack
    halfrack 2016/01/08
    うひょああああ!!!
  • 1