簡介
本檔案介紹如何備份和還原Cisco CMX 10.5及更新版本上的組態和使用者端資料
必要條件
需求
需要具備CMX的一般知識。
採用元件
所有測試都是在運行於MSE 3375裝置、MacOS 10.4和Windows 10 2018年10月更新的CMX 10.6.0-177上進行的。
其中包括在物理3365/3375裝置以及虛擬機器上安裝的CMX。可以備份CMX的以下元件:
- 資料庫 — 儲存配置資料,如對映、控制器、位置和聚合分析資料
- 快取 — 儲存分析重複訪問
- Cassandra — 儲存位置歷史資料和分析原始訪問
- Influxdb — 儲存系統的度量資料(預設情況下不包括)
- Consul — 儲存Consul配置
- 地圖 — 儲存用於使用者介面顯示的樓層影象
- 許可證 — 儲存思科CMX許可證資訊
- 設定 — 儲存CMX設定資料
- Connectimages — 在連線強制網路門戶上儲存映像
- Conf — 儲存節點配置
本文中的資訊是根據特定實驗室環境內的裝置所建立。文中使用到的所有裝置皆從已清除(預設)的組態來啟動。如果您的網路運作中,請確保您瞭解任何指令可能造成的影響。
備份過程
正在建立備份捆綁包
無論安裝在哪裡,都可以使用cmxos backup命令備份CMX。預設情況下,備份包括資料庫、快取、Cassandra、地圖、許可證、設定、連線和配置。新增-all引數以同時包含Influxdb資料。預設情況下,備份過程在執行時停止CMX服務。新增引數 — 線上以執行備份而不停止CMX服務。系統將提示您輸入要在其中儲存備份tar.gz歸檔檔案的目錄。目錄需要具有讀取、寫入和執行許可權。建議使用預設的/tmp目錄。
在新安裝的CMX上,備份過程大約需要30秒。在滿載和充分利用的CMX上,建立備份捆綁包可能需要長達一小時的時間。
確保在SSH客戶端中啟用keepalive消息,以便建立備份時會話不會超時。在PuTTY中,可以在「Connection」頁籤下完成此操作:
[cmxadmin@mse33752 ~]$ cmxos backup --online --all
Please enter the path for backup file [/tmp]:
backup name: cmx_backup_mse33752_2019_04_28_22_39
backup dir: /tmp/cmx_backup_mse33752_2019_04_28_22_39
tar file: /tmp/cmx_backup_mse33752_2019_04_28_22_39.tar.gz
running: sudo -u cmx /opt/cmx/bin/cmxctl version
----------------------------------------------------------------------
Build Version : 10.6.0-331
Build Time : 2019-01-24 13:27:35.937025
----------------------------------------------------------------------
Image Version : 10.6.0-177
----------------------------------------------------------------------
Preparing backup of following services: ['database', 'cache', 'cassandra', 'influxdb', 'floormaps', 'licenses', 'setup', 'connectimages', 'conf']
[22:39:56] Preparing for backup...
Preparing for backup...
Database size 51226723
Cache size 7794
Cassandra size 67462961
Floormaps size 1014394
Licenses size 6
Setup size 1912
Connectimages size 6
running: sudo -u cmx /opt/cmx/bin/cmxctl dump
running locally
Dumping configuration information...
[localhost] Executing task 'dump_config_only'
Done.
.
.
.
.
.
.
.
copy snapshot took 0.804718971252 seconds
Backup Cassandra DB took: 8.50579595566 seconds
[22:40:07] Backup InfluxDb...
Backup InfluxDb...
Backup Influx DB took: 0.0411479473114 seconds
[22:40:07] Backup Floormaps...
Backup Floormaps...
Backup floor maps took: 0.055881023407 seconds
[22:40:07] Backup licenses...
Backup licenses...
Backup licenses took: 0.000136137008667 seconds
[22:40:07] Backup setup...
Backup setup...
Backup setup took: 0.00061297416687 seconds
[22:40:07] Backup connect images...
Backup connect images...
Backup connect images took: 0.000127077102661 seconds
[22:40:07] Backup node configuration...
Backup node configuration...
running: sudo -u cmx /opt/cmx/bin/cmxctl dump
running locally
Dumping configuration information...
[localhost] Executing task 'dump_config_only'
Done.
Backup configuration took: 0.383893013 seconds
[22:40:07] Creating tar file..
Creating tar file..
running: tar -chf /tmp/cmx_backup_mse33752_2019_04_28_22_39.tar.gz --use-compress-program=pigz -C /tmp cmx_backup_mse33752_2019_04_28_22_39
running: chmod a+rw /tmp/cmx_backup_mse33752_2019_04_28_22_39.tar.gz
running: chown cmxadmin:cmxadmin /tmp/cmx_backup_mse33752_2019_04_28_22_39.tar.gz
Post backup took: 0.17880988121 seconds
Done Backup. Created backup file /tmp/cmx_backup_mse33752_2019_04_28_22_39.tar.gz
[22:40:07] Done Backup. Created backup file /tmp/cmx_backup_mse33752_2019_04_28_22_39.tar.gz
running: /opt/apache-cassandra-3.9/bin/nodetool --ssl -h cassandra.service.consul -p 7199 clearsnapshot
Requested clearing snapshot(s) for [all keyspaces]
在輸出的末尾,指定了備份歸檔檔案的名稱:
[22:40:07] Done Backup. Created backup file /tmp/cmx_backup_mse33752_2019_04_28_22_39.tar.gz
備份高可用性設定
如果高可用性當前已啟動並正在運行,由於所有資料庫都在主資料庫和輔助資料庫之間同步,則從主CMX進行備份足以儲存所有客戶端資料。只需運行cmxos backup —all —online命令,然後從主伺服器傳輸檔案。
如果當前未在主伺服器和輔助伺服器之間建立高可用性,請首先確定哪個CMX具有完整的最新資料,然後從該資料建立備份。
注意:如果建立了高可用性,則僅在主伺服器上支援聯機備份。如果禁用了高可用性,則主備份和輔助備份均支援聯機備份和離線備份。
將捆綁包從CMX移動到其他電腦
如果CMX的硬碟發生問題或在升級過程中檔案損壞,則儲存在CMX上的備份檔案可能會丟失。建議使用安全複製協定(SCP)將資料從CMX移動到另一台電腦。下面您可以找到有關如何在Windows、MacOS和Linux PC上執行此操作的示例:
Windows:
在Windows上,最簡單的方法是通過WinSCP程式。安裝後,輸入cmxadmin使用者的IP地址和憑據並建立SCP連線。導航到儲存備份的資料夾,找到備份檔案,並將其拖到本地電腦上的所需位置(左側視窗)。
重要:由於CMX 10.6.x中的根訪問限制,WinSCP用於導航目錄的cd命令不存在。在這種情況下,無法使用WinSCP。如果要獲取根補丁程式的訪問許可權或查詢備用SCP實用程式,請聯絡Cisco TAC。
MacOS和Linux:
MacOS和大多數Linux發行版都帶有本地scp客戶端。可使用簡單的terminal命令移動檔案:
scp cmxadmin@<cmx_ip_address>:/<file_path_and_name_on_cmx> <file_path_and_name_on_local_machine>
範例:
VAPEROVI-M-H1YM:~ vaperovi$ scp cmxadmin@10.48.71.41:/tmp/cmx_backup_mse33752_2019_04_28_19_38.tar.gz /Users/vaperovi/cmx_backup_mse33752_2019_04_28_19_38.tar.gz
cmxadmin@10.48.71.41's password:
cmx_backup_mse33752_2019_04_28_19_38.tar.gz 100% 186KB 1.4MB/s 00:00
CMX顯示輸入cmxadmin使用者憑證的提示,之後資料將傳輸到本地電腦中的指定位置。
註:考慮到CMX 10.5及更高版本在CentOS 7上運行,此命令可用於將資料從一個CMX移動到新安裝的CMX。由於一個無線控制器一次只能與一個CMX同步,因此請確保關閉從中下載備份捆綁包的CMX。
從CMX刪除備份存檔
在CMX 10.5.x版中,可以通過以下方式刪除檔案:以root使用者身份通過su命令登入,導航到儲存備份檔案的/tmp目錄,並通過rm -f 命令將其刪除:
[cmxadmin@mse33752 ~]$ su
Password:
[root@mse33752 cmxadmin]#
[root@mse33752 cmxadmin]# cd /tmp
[root@mse33752 tmp]# rm -f cmx_backup_mse33752_2019_04_28_19_38.tar.gz
從10.6.0版開始,根目錄訪問已受到限制。如果沒有只能由Cisco TAC提供的特殊補丁,則無法刪除10.5等上的檔案。可以使用cmxos clean normal —delete命令釋放一些空間:
[cmxadmin@mse33752 ~]$ cmxos clean normal --delete
Are you sure you wish to remove files? [y/N]: y
Removing files in: /opt/cmx/var/log
Remove: /opt/cmx/var/log/entropy.err
Remove: /opt/cmx/var/log/backup.log.2
Remove: /opt/cmx/var/log/techsupport/cmx_tech_support_2019-04-28.log
Removing files in: /opt/influxdb/shared
Removing files in: /tmp
重要資訊:如果在運行cmxos clean normal —delete後仍沒有足夠的空間執行備份,則需要聯絡Cisco TAC以訪問根目錄並刪除佔用空間的檔案。
恢復備份
如果要還原備份,請將備份檔案從遠端電腦傳輸到CMX。在Windows中,您只需使用WinSCP拖放檔案。在MacOS和Linux上,使用以下命令:
$ scp <file_path_and_name_on_local_machine> cmxadmin@<cmx_ip_address>:/tmp
範例:
VAPEROVI-M-H1YM:~ vaperovi$ scp /Users/vaperovi/cmx_backup_mse33752_2019_04_28_19_38.tar.gz cmxadmin@10.48.71.41:/tmp
cmxadmin@10.48.71.41's password:
cmx_backup_mse33752_2019_04_28_19_38_copy.tar.gz 100% 186KB 1.3MB/s 00:00
重要資訊:必須從具有相同本地時間的裝置還原Cisco CMX資料。否則,您將無法正確訪問分析資料。此外,資料還會導致報表中出現錯誤或零值。
要恢複資料,CMX需要可用磁碟空間是備份捆綁包大小的4倍。如果空間不足,可以嘗試增加VM的空間或通過運行cmxos clean normal —delete命令。可以使用cmxos restore命令啟動恢復過程。新增-i引數後,您只能備份某些元素(資料庫、快取、Cassandra、地圖、許可證、設定、會議)。建議執行完整備份。
恢復過程要求停止所有服務。確保為此過程準備足夠的維護時段,因為此過程可能需要一個多小時。
[cmxadmin@mse33752 ~]$ cmxos restore
Please enter the backup file path: /tmp/cmx_backup_mse33752_2019_04_28_22_39.tar.gz
Please enter the path for untar backup file [/tmp]:
Stopping monit (via systemctl): [ OK ]
[23:49:19] Preparing for restore...
Restore size 30383753
Available disk space in /tmp is 1812541169664
Available disk space is 1817753817088
[23:49:19] Untarring backup file...
Backing up existing licenses on the system...
Successfully saved existing licenses
Stopping all services...
Pre restore took: 41.672647953 seconds
[23:50:00] Restoring Database...
Created temporary database temp_mse
Running command /usr/bin/sudo -u postgres pg_restore -j 8 -d temp_mse -Fc /tmp/cmx_backup_mse33752_2019_04_28_22_39/postgres/mse.dump
Restored temporary database temp_mse
Dropping database mse
Renaming database temp_mse to mse
Restarting database...
Starting database...
Restore database took: 10.2765719891 seconds
[23:50:11] Restoring Cache...
Stopping cache_6378...
Restarting cache_6378...
Stopping cache_6379...
Restarting cache_6379...
Stopping cache_6385...
Restarting cache_6385...
Stopping cache_6380...
Restarting cache_6380...
Stopping cache_6381...
Restarting cache_6381...
Stopping cache_6382...
Restarting cache_6382...
Stopping cache_6383...
Restarting cache_6383...
Stopping cache_6384...
Restarting cache_6384...
Restore Cache took: 61.1865711212 seconds
[23:51:12] Restoring Cassandra...
Stopping Cassandra...
Starting Cassandra after wipe...
starting cassandra
Creating empty cassandra schemas
Stopping Cassandra...
Starting Cassandra after restore ...
starting cassandra
Restore Cassandra took: 117.123826981 seconds
[23:53:09] Restoring floormaps...
Restore floor maps took: 0.0736980438232 seconds
[23:53:09] Restoring licenses...
Restore licenses took: 0.000176906585693 seconds
[23:53:09] Restoring setup...
Restore setup took: 0.00758194923401 seconds
[23:53:09] Restoring connect images...
Restore connect images took: 0.000188827514648 seconds
[23:53:09] Running Post Restore Tasks...
[23:53:09] Migrating Schemas...
[23:53:10] Migrating Cassandra Schemas...
stopping cassandra
Local licenses wont be retained.
Running full vacuum command on postgres
Performing cleanup of redis cache 6378 and 6383 to evict bloom filter stale entries.
Performing cleanup of redis cache 6378 to evict stale records by qlesspyworker.
Update CMX default certificate
Post restore took: 61.7358779907 seconds
[23:54:11] Starting all services...
[23:56:04] Done
Starting monit (via systemctl): [ OK ]
其他資訊
備份和恢復過程的限制
- 不能將來自CMX 10.3或更舊版本的備份匯入CMX 10.5.x及更高版本。10.5.x中的備份可以匯入到CMX 10.6.x中
- 為了符合GDPR,需要執行資料庫、樓層圖、許可證和安裝元件的備份
- 確保埠22在CMX與用於訪問它的電腦之間未被阻塞
- 如果從其他型別的CMX部署恢復備份,請參閱下表檢查它們是否相容:
還原自……
|
還原到……
|
建議
|
相同的電腦規格 |
相同的電腦規格 |
確定 |
Cisco MSE 3365裝置 |
思科3375裝置 |
確定 |
Cisco MSE 3365裝置 |
高端MSE虛擬(vMSE) |
確定 |
高端vMSE |
Cisco 3375和Cisco MSE 3365裝置 |
確定,除非高端電腦分配的RAM比建議的規格多 |
標準vMSE |
Cisco 3375和Cisco MSE 3365裝置 |
確定 |
標準vMSE |
高端vMSE |
確定 |
低端vMSE |
Cisco 3375和Cisco MSE 3365裝置 |
確定 |
低端vMSE |
高端vMSE |
確定 |
低端vMSE |
標準vMSE |
確定 |
思科3375裝置 |
Cisco MSE 3365裝置 |
不推薦 |
Cisco MSE 3365裝置 |
標準vMSE |
不推薦 |
Cisco MSE 3365裝置 |
低端vMSE |
不推薦 |
高端vMSE |
標準vMSE |
不推薦 |
高端vMSE |
低端vMSE |
不推薦 |
標準vMSE |
低端vMSE |
不推薦 |
備份和虛擬機器快照之間的差異
不能將虛擬機器快照視為備份工具,因為它們不會採取任何操作來維護虛擬機器用於其資料儲存的VMDK檔案的完整性。
快照的操作是通過「凍結」原始VMDK儲存檔案並建立其他快照檔案來捕獲對原始VMDK檔案(稱為磁碟鏈)所做的更改。這樣,可以及時保留磁碟檔案的狀態,並在進行某些更改後根據需要回滾到。
因此,如果原始(父)VMDK檔案丟失或以任何方式損壞,則無法使用快照資料將其還原到其以前的狀態,並且儲存的資料實際上會丟失。
在vSphere環境中使用快照的VMware最佳做法提到以下內容:
- 請勿將快照用作備份(原因已列出)
- VMware建議不要使用單個快照的時間超過72小時(如果快照檔案保留的時間較長,則其大小將繼續增長。這可能導致快照儲存位置耗盡空間並影響系統效能)。
- 一個鏈中最多支援32個快照。但是,為了獲得更好的效能,請限制僅使用2到3個快照。
有關詳細資訊,請參閱VMware快照最佳做法文章。