【F5】BIG-IPのCLI設定方法【Virtual Server(VIP)やPoolの名前を変更する】
bigipのCLIでVirtual Serverの名前の修正方法をまとめていきます。
bigipで不便なこと、それがVirtual ServerやPoolの名前を修正することができないことです!
F5の公式ドキュメントでも修正はできないから、新しいVSを作って、古いのを消すことが推奨されていますね。↓↓
残念な仕様です。
K75181207: Renaming BIG-IP configuration objects
さて、本題ですが、設定方法は↓の通り、2つあります。
- Virtual ServerやPoolを新規に作り、古い方を削除する(F5推奨)
- mvコマンドで名前を修正する(F5は非推奨)
- 挙動はbigipのバージョンによって差異がありますので、その点は公式のドキュメントを参考にしてください
- 設定内容は架空であるため、都度ご自身で読み替えてください
Virtual ServerやPoolを新規に作り直す場合(F5推奨)
- 事前確認
- Virtual ServerやPoolを新規で作成する
- 古いVirtual ServerやPoolを削除する
- 事後確認
- 設定の保存
- 設定の同期(冗長の場合)
- VS名を「test_virtual_server」から「after_test_virtual_server」に変更したいとする
- VS名のみを変更し、その他の設定は既存のVSと同じ設定とする
- 既存のVSに紐づくpoolは「test_pool」とする
事前確認コマンド
tmsh list / one-line
tmsh show ltm virtual test_virtual_server(VS名) detail
※前提として、細かいVSのステータスやPool member、コネクションの確認は省いております。
tmsh list / one-line でCLIコマンドのバックアップのため、出力を保存しておきます。
事前確認では名前の修正対象となるtest_virtual_serverというVSのステータスを確認して、削除できる状態にしておきます。
Virtual ServerやPoolを新規で作成する
tmsh create ltm virtual after_test_virtual_server { destination 11.11.11.12:any pool test_pool}
新しくVSを作成します。
↑の例では、after_test_virtual_serverという新しいVS名で作成しています。
destinationやpoolは既存のVSと同じ設定であるとします。
古いVirtual ServerやPoolを削除する
tmsh delete ltm virtual test_virtual_server
名前を修正したVSを作成後、既存のVS(test_virtual_server)を削除します。
事後確認コマンド
tmsh show ltm virtual after_test_virtual_server(VS名) detail
新しいVS名でVSが作成されていることを確認します。
after_test_virtual_serverというVSに紐づく、Pool memberなどが正しいことを確認します。
設定の保存
tmsh save sys config
設定の同期
tmsh run cm config-sync to-group デバイスグループ名
冗長構成であれば、同期も忘れずに行う。
mvコマンドで名前を修正する場合(F5非推奨)
- 事前確認
- MV (move) commandを有効化する
- MV (move) commandで名前を修正する
- 古いVirtual ServerやPoolを削除する
- 事後確認
- MV (move) commandを無効化する
- 設定の保存
- 設定の同期(冗長の場合)
- VS名を「test_virtual_server」から「after_test_virtual_server」に変更したいとする
- VS名のみを変更し、その他の設定は既存のVSと同じ設定とする
- 既存のVSに紐づくpoolは「test_pool」とする
事前確認コマンド
tmsh list / one-line
tmsh show ltm virtual test_virtual_server(VS名) detail
※前提として、細かいVSのステータスやPool member、コネクションの確認は省いております。
tmsh list / one-line でCLIコマンドのバックアップのため、出力を保存しておきます。
事前確認では名前の修正対象となるtest_virtual_serverというVSのステータスを確認して、削除できる状態にしておきます。
MV (move) commandを有効化する
tmsh modify /sys db mcpd.mvenabled value true
↑の例では、mvコマンドを有効化しております。
mvコマンドはデフォルトでは無効化されているので、意図的に有効化する必要があります。
名前を変更するコマンドでmvコマンドがあります。
↓の公式ドキュメントに書いてある通り、実験的なコマンドであり、F5公式としてはあまり推奨していないコマンドです。
Warning: Currently, the ability to move certain BIG-IP objects to other folders and to rename those objects is an experimental feature. F5 Networks recommends that you disable this feature after you have moved or renamed any BIG-IP objects. Also, use of this feature could result in a loss of statistics and a disruption in BIG-IP Global Traffic Manager GTM) service. If you plan to move or rename a virtual server, please contact your GTM administrator before doing so.
MV (move) commandで名前を修正する
mv /ltm virtual test_virtual_server after_test_virtual_server
mv /ltm virtual /Common/test_virtual_server /Common/after_test_virtual_server
mvコマンドでVS名を変更します。
↑の例では「test_virtual_server」(変更前)から 「after_test_virtual_server」(変更後)に名前を修正しております。
2行目はフルパスで表記しているだけで、設定内容は同じになります。
古いVirtual ServerやPoolを削除する
tmsh delete ltm virtual test_virtual_server
名前を修正したVSを作成後、既存のVS(test_virtual_server)を削除します。
事後確認コマンド
tmsh show ltm virtual after_test_virtual_server(VS名) detail
新しいVS名でVSが作成されていることを確認します。
after_test_virtual_serverというVSに紐づく、Pool memberなどが正しいことを確認します。
MV (move) commandを無効化する
modify /sys db mcpd.mvenabled value false
VS名の変更が確認できたら、MVコマンドを無効化します。
↓の通り、F5は公式ドキュメントで修正後はmvコマンドを無効化することを推奨しております。
Warning: Currently, the ability to move certain BIG-IP objects to other folders and to rename those objects is an experimental feature. F5 Networks recommends that you disable this feature after you have moved or renamed any BIG-IP objects.
参照:Manual Chapter : Working with Folders
設定の保存
tmsh save sys config
設定の同期
tmsh run cm config-sync to-group デバイスグループ名
冗長構成であれば、同期も忘れずに行う。
まとめ
- Virtual ServerやPoolの名前の修正方法は2種類ある。新規で名前だけを変更して、Virtual ServerやPoolを作成する、または、mvコマンドで修正する。
- Virtual ServerやPoolを新規に作り直す方法はF5推奨
- mvコマンドで名前を修正する方法はF5非推奨
以上!