galaxyproject.cvmfs

CVMFS

CernVM-FS (CVMFS)をインストールし、Galaxyサーバー向けに設定します。

要件

Enterprise Linux(ansible_os_family == "RedHat")では、CVMFSの依存関係のためにEPEL(Enterprise Linux用の追加パッケージ)を有効にしている必要があります。EPELを有効にする必要がある場合、geerlingguy.repo-epelで簡単に設定できます。

ロール変数

すべての変数はオプションです。ただし、設定しない場合、ロールは基本的に何もしません。デフォルト例のプレイブックを参照してください。

Galaxyクライアント

以下で説明する cvmfs_role 以外に、Galaxyの管理者は、おそらく galaxy_cvmfs_repos_enabled 変数を設定する必要があります(デフォルトでは無効)。これによりCVMFSクライアントがgalaxyproject.orgのCVMFSリポジトリ用に自動的に設定されます。

galaxy_cvmfs_repos_enabled の値は config-repo または評価が true になる任意の値にできます(明示的に無効にするために false を設定することもできますが、これはデフォルトです)。config-repo を使用することを推奨します。これにより、このロールは cvmfs-config.galaxyproject.org CVMFSリポジトリをマウントするために必要な最小限の設定のみをインストールし、その後、CVMFSの設定リポジトリサポートを使用して他のgalaxyproject.orgのCVMFSリポジトリの設定を取得します。これにより、常に最新の設定を持つことができます。

galaxy_cvmfs_repos_enabledconfig-repo に設定すると、cvmfs_config_repo の値が上書きされます。クライアントには1つのデフォルトの設定リポジトリしか構成できないためです。

その他の真の値に galaxy_cvmfs_repos_enabled を設定すると、ロールはターゲットホストに各galaxyproject.orgのCVMFSリポジトリの完全な設定をインストールする静的な設定を作成します。このオプションはレガシーのために保持されています。

Galaxyの cvmfs_keyscvmfs_server_urlscvmfs_repositories のデフォルトを上書きするには、変数名の先頭に galaxy_ を追加します。詳細はデフォルトを参照してください。

galaxy_cvmfs_repos_enabled が設定されていない場合、以下の変数を使用して非Galaxyリポジトリの完全な設定を行うことができます。

クライアントまたは共有クライアント/サーバー変数

変数 説明
cvmfs_role 文字列 CVMFSホストの種類: client, stratum0, stratum1, または localproxy。代わりに、ホストを cvmfsclients, cvmfsstratum0servers, cvmfsstratum1servers 、および cvmfslocalproxies にグループ分けできます。インストールされるパッケージや行われる設定を制御します。
cvmfs_keys 辞書のリスト すべてのタイプのホストにインストールするキー。
cvmfs_server_urls 辞書のリスト CVMFSサーバーのURLで、/etc/cvmfs/domain.d/<domain>.confCVMFS_SERVER_URL の値。
cvmfs_repositories 辞書のリスト CVMFSリポジトリの設定で、/etc/cvmfs/default.localCVMFS_REPOSITORIES の値と /etc/cvmfs/repositories.d/<repository>/{client,server}.conf の追加設定。
cvmfs_config_repo 辞書 CVMFSの設定リポジトリの設定で、構文の詳細はデフォルトにある galaxy_cvmfs_config_repo の値を参照してください。
cvmfs_quota_limit MB単位の整数 CVMFSクライアントキャッシュのサイズ。デフォルトは 4000
cvmfs_upgrade_client 真偽値 既にインストールされている場合、クライアントのCVMFSを最新バージョンにアップグレードします。デフォルトは false
cvmfs_preload_install 真偽値 CVMFSキャッシュのプリロードスクリプト cvmfs_preload をインストールするかどうか。
cvmfs_preload_path パス cvmfs_preload をインストールするディレクトリ。
cvmfs_install_setuid_cvmfs_wipecache 真偽値 権限のないユーザーが cvmfs_config wipecache を実行できる setuid バイナリをクライアントにインストールします。ELのみ(ソースが提供されています)。
cvmfs_install_setuid_cvmfs_remount_sync 真偽値 権限のないユーザーが cvmfs_talk remount sync を実行できる setuid バイナリをクライアントにインストールします。ELのみ(ソースが提供されています)。

複雑な(辞書のリスト)変数には次の構文があります:

cvmfs_keys:
  - path: 'リポジトリキーの絶対パス key.pub'
    owner: 'キー・ファイルの所有者(デフォルト: root)'
    key: |
      -----BEGIN PUBLIC KEY-----
      MIIBIjAN...

cvmfs_server_urls:
  - domain: 'リポジトリの親ドメイン'
    urls:
      - 'リポジトリのURL'

cvmfs_repositories:
  - repository: 'リポジトリ名'
    stratum0: 'ストラタム0のホスト名'
    owner: 'リポジトリの所有者(デフォルト: root)'
    key_dir: 'リポジトリキーを含むディレクトリのパス(デフォルト: /etc/cvmfs/keys)'
    server_options:
      - KEY=val
    client_options:
      - KEY=val

ストラタム0/リリースマネージャーの場合、prune_snapshots_time により古いスナップショットを自動的に削除できます。これは、cronモジュールオプションに対応するキーを持つハッシュです。prune_snapshots_time が設定されていない場合、スナップショットは自動的に削除されません。

cvmfs_repositories:
  - repository: repo.example.org
    owner: user1
    prune_snapshots_count: 20
    prune_snapshots_time:
       special_time: daily

各リポジトリの prune_snapshots_count オプションは、設定されていない場合、defaults/main.ymlcvmfs_stratum0_prune_snapshots_count の値にデフォルトで設定されます。

サーバー変数

変数 説明
cvmfs_private_keys 辞書のリスト ストラタム0ホストにインストールするキー。cvmfs_keys とは別にして、重複を避けるためです。
cvmfs_config_apache 真偽値 ストラタム0および1のサーバーでApacheを設定するかどうか。無効にする場合は、自分で設定する必要があります。デフォルトは true
cvmfs_manage_firewall 真偽値 firewalld(EL)または ufw(Debian)の設定を試みて、設定したポートへのトラフィックを許可します。デフォルトは false
cvmfs_squid_conf_src パス ストラタム1およびローカルプロキシサーバー用のSquid設定ファイルのテンプレートパス。デフォルトはロールの templates/ ディレクトリにあります。
cvmfs_stratum0_http_ports 整数のリスト ストラタム0サーバーでApacheがリッスンするポート(デフォルトは 80)。
cvmfs_stratum1_http_ports 整数のリスト ストラタム1サーバーでSquidがリッスンするポート(デフォルトは 808000)。
cvmfs_stratum1_apache_port 整数 ストラタム1サーバーでApacheがリッスンするポート(デフォルトは 8008)。
cvmfs_stratum1_cache_mem MB単位の整数 Squidがキャッシュに使用するメモリの量(デフォルトは 128)。
cvmfs_stratum1_cache_dir 辞書のリスト
cvmfs_localproxy_http_ports 整数のリスト ローカルプロキシサーバーでSquidがリッスンするポート(デフォルトは 3128)。
cvmfs_upgrade_server 真偽値 サーバーのCVMFSを既にインストールされている場合、最新バージョンにアップグレードします。デフォルトは false
cvmfs_srv_device パス CVMFSデータ用にファイルシステムを作成し、マウントするブロックデバイス。デフォルトでは未設定。
cvmfs_srv_fstype 文字列 cvmfs_srv_device に作成するファイルシステム(デフォルトは ext4)。
cvmfs_srv_mount パス CVMFSデータボリュームをマウントするパス(デフォルトは /srv、ただし cvmfs_srv_device が未設定の場合は無視されます)。
cvmfs_union_fs 文字列 ストラタム0サーバーの新しいリポジトリ用のUnionファイルシステムのタイプ(overlayfs または aufs)。
cvmfs_numfiles 整数 /etc/security/limits.conf における最大オープンファイル数。ストラタム0サーバーの CVMFS_NFILES クライアントオプションに役立ちます。

依存関係

なし。

例のプレイブック

すべてのホストをCVMFSクライアントとして、GalaxyのCVMFSリポジトリに設定します。

- name: CVMFS
  hosts: all
  vars:
    cvmfs_role: client
    galaxy_cvmfs_repos_enabled: config-repo
  roles:
    - geerlingguy.repo-epel
    - galaxyproject.cvmfs

GalaxyのCVMFSリポジトリのストラタム1(ミラー)を作成し、クライアントがストラタム1を優先するように設定します(cvmfsclientscvmfsstratum1servers にホストを設定したと仮定)。

- name: CVMFS
  hosts: cvmfsclients:cvmfsstratum1servers
  vars:
    cvmfs_srv_device: /dev/sdb
    galaxy_cvmfs_repos_enabled: true
    # デフォルトを上書き
    galaxy_cvmfs_server_urls:
      - domain: galaxyproject.org
        urls:
          - "http://cvmfs.example.org/cvmfs/@fqrn@"
          - "http://cvmfs1-psu0.galaxyproject.org/cvmfs/@fqrn@"
          - "http://cvmfs1-iu0.galaxyproject.org/cvmfs/@fqrn@"
          - "http://cvmfs1-tacc0.galaxyproject.org/cvmfs/@fqrn@"
          - "http://cvmfs1-mel0.gvl.org.au/cvmfs/@fqrn@"
          - "http://cvmfs1-ufr0.galaxyproject.eu/cvmfs/@fqrn@"
  roles:
    - galaxyproject.cvmfs

独自のCVMFSインフラストラクチャを作成します。キーなしで1回実行します(リポジトリの作成時に新しいキーが生成されます)。

- name: CVMFS
  hosts: cvmfsstratum0servers
  vars:
    cvmfs_numfiles: 4096
    cvmfs_server_urls:
      - domain: example.org
        urls:
          - "http://cvmfs0.example.org/cvmfs/@fqrn@"
    cvmfs_repositories:
      - repository: foo.example.org
        stratum0: cvmfs0.example.org
        key_dir: /etc/cvmfs/keys/example.org
        server_options:
          - CVMFS_AUTO_TAG=false
          - CVMFS_GARBAGE_COLLECTION=true
          - CVMFS_AUTO_GC=false
        client_options:
          - CVMFS_NFILES=4096
      - repository: bar.example.org
        stratum0: cvmfs0.example.org
        key_dir: /etc/cvmfs/keys/example.org
  roles:
    - galaxyproject.cvmfs

キーが作成されたら、cvmfs_keys に追加し、同様の方法で hosts: all として実行し、cvmfs_keys を次のように定義します:

- name: CVMFS
  vars:
    cvmfs_keys:
      - path: /etc/cvmfs/keys/example.org/foo.example.org.pub
        key: |
          -----BEGIN PUBLIC KEY-----
          MIIBIjAN...
      - path: /etc/cvmfs/keys/example.org/bar.example.org.pub
        key: |
          -----BEGIN PUBLIC KEY-----
          MIIBIjAN...

ライセンス

MIT

著者情報

Nate Coraor
Helena Rasche

GitHubでの貢献者を見る

プロジェクトについて

Install and configure CernVM-FS (CVMFS)

インストール
ansible-galaxy install galaxyproject.cvmfs
ライセンス
Unknown
ダウンロード
63.2k
所有者
Galaxy is an open, web-based platform for data-intensive research.