Konfiguracja Off-Site Data Protection Service (ODPS) w systemie JovianDSS firmy Open-E

Z Thomas-Krenn-Wiki
Przejdź do nawigacji Przejdź do wyszukiwania

Szczególną funkcją w oprogramowaniu Open-E JovianDSS jest usługa Off-Site Data Protection Service (ODPS). Do korzystania z tej funkcji replikacji danych wymagane są dwa węzły JovianDSS. W tym artykule pokażemy, na przykładzie dwóch zwirtualizowanych w ESXi węzłów JovianDSS, jak można dostać się do interfejsu wiersza poleceń JovianDSS z klienta opartego na systemie Windows lub Linux i poprawnie skonfigurować ODPS.

Hier geht es zu unseren Open-E Appliances im Onlineshop von Thomas-Krenn

Połączenie z interfejsem wiersza poleceń

Aby połączyć się z CLI systemu JovianDSS za pomocą PuTTY i jego narzędzia plink.exe lub z systemu opartego na Linuksie i terminala należy aktywować CLI access, tak jak jest to przedstawione na poniższym zrzucie.
W menu webowym systemu JovianDSS należy kolejno przejść do System Settings, Administration i punktu CLI access.

Po aktywowaniu Use CLI access i wprowadzeniu wybranego hasla moze zostac wygenerowany nowy klucz i pobrany na komputer klienta.

Połączenie z komputera z systemem Windows

Połączenie z komputera z systemem Windows może zostać zrealizowane za pomocą popularnego "PuTTY" i jego interfejsu wiersza poleceń "plink.exe". Open-E opublikowało szczegółowy przewodnik w formacie PDF, od strony 21 dokumentu "Jump-Start Open-E JovianDSS" jest szczegółowo przedstawiona konfiguracja PuTTY, za pomocą zrzutów ekranu.[1]

Połączenie z komputerem działającym pod Linuksem

Poniżej jest przedstawione, na przykładzie Ubuntu 14.04, jak można się połączyć z systemem JovianDSS z poziomu terminala w Linuksie.[2]

  1. Pobierz klucz RSA na lokalny system
  2. Umieść klucz np. w katalogu .ssh
  3. Ze względów bezpieczeństwa należy zmienić prawa dostępu do klucza, w przeciwnym razie podczas próby połączenia zostanie wyświetlone ostrzeżenie i zażądane hasło:
    $ chmod 600 <klucz-węzła-JovianDSS>.key
  4. Połączenie z CLI JovianDSS: $ ssh -2 -p 22223 -i .ssh/<klucz-węzła-JovianDSS>.key -l cli <IP-węzła-JovianDSS>

Przegląd poleceń

Konfiguracja wielu funkcji może zostać przeprowadzona w interfejsie webowym systemu JovianDSS, jak i również z CLI.

Schemat komend w systemie Windows i Linux

Połączenie z klienta Windows różni się od połączenia z klienta opartego na Linuksie. Poniższe schematy przedstawiają strukturę komend w poszczególnych systemach operacyjnych.

  • Windows: plink.exe -i <ścieżka-do-ppk>\<klucz-des-JovianDSS-Nodes>.ppk -P 22223 -l <IP-węzła-JovianDSS> <komenda>
  • Linux: $ ssh -2 -p 22223 -i <Keyfile> -l <CLI-Username> <IP-węzła-JovianDSS> <komenda>

Lista dostepnych komend

Przegląd dostępnych komend może zostać wyświetlona poprzez wprowadzenie poniższych poleceń.

  • Windows: plink.exe -i <ścieżka-do-ppk>\<klucz-węzła-JovianDSS>.ppk -P 22223 -l <IP-węzła-JovianDSS>
  • Linux: $ ssh -i .ssh/<klucz-węzła-JovianDSS>.key -2 -p 22223 -l cli <IP-węzła-JovianDSS>
Using username "cli".
Usage: cli_adapter [options]

Options:
  -h, --help  show this help message and exit
  -c COMMAND  CLI API Command to execute.

Available commands:
	attach_volume_to_iscsi_target
	check_mk_agent
	create_clone_for_given_snapshot
	create_iscsi_target
	create_pool
	create_snapshot
	create_volume
	delete_clone
	delete_iscsi_target
	delete_pool
	delete_snapshot
	delete_volume
	detach_volume_from_iscsi_target
	get_clones_for_given_snapshot
	get_iscsi_targets_for_given_pool
	get_pools
	get_snapshots_for_given_volume
	get_volumes_assigned_to_iscsi_target
	get_volumes_for_given_pool
	help
	node_bind
	node_unbind
	odps
	reboot
	shutdown

Run:
command_name --help
to see help for selected command

Off-Site Data Protection Service

Funkcja ODPS automatycznie tworzy rotujące migawki zbioru danych lub Zvol w oparciu o plan retencji. Opcjonalnie można skonfigurować asynchroniczną replikację migawek do lokalizacji lokalnej lub zdalnej (co-location). Funkcja ODPS umożliwia zatem tworzenie solidnych i wydajnych strategii tworzenia kopii zapasowych, archiwizacji i przywracania danych po awarii.[3]

Podpowiedź konfiguracyjna

Poniższe punkty opisują konfigurację funkcji ODPS, która jest skonfigurowana lokalnie pomiędzy dwoma pulami węzła lub replikuje dane do drugiego zdalnego węzła. Poniższa przykładowa konfiguracja opiera się na dwóch węzłach JovianDSS działających jako maszyna wirtualna na hoscie ESXi. Konfiguracja obu węzłów przebiega prawie identycznie, obie instancje różnią się jedynie skonfigurowanymi adresami IP.

Przegląd poleceń

Funkcja ODPS może nadal zostać skonfigurowana za pomocą CLI, np. za pomocą wspomnianego powyżej narzędzia "plink" w "PuTTY" z wiersza poleceń systemu Windows lub za pośrednictwem terminala w przypadku systemów operacyjnych opartych na systemie Linux. Według autorów projektu, w przyszłych wersjach jest planowany konfigurator graficzny.[4] Konfiguracja z systemu operacyjnego opartego na Linuksie jest pokazana poniżej na konkretnym przykładzie. Polecenia konfiguracji z systemu operacyjnego Windows są również poniżej podane.

Wszystkie funkcje ODPS

Za pomocą parametrów 'odps' lub 'odps help' mogą zostać wyświetlone wszystkie polecenia ODPS.

  • Linux
$ ssh -i .ssh/node-7d7269fb.key -2 -p 22223 -l cli 10.1.102.230 {odps|odps help}
  • Windows

plink.exe -i Downloads\node-7d7269fb.ppk -P 22223 -l 10.1.102.230 {odps|odps help}

Missing option.

Off-Site Data Protection Service (odps)

AVAILABLE COMMANDS:

odps
  attach-backup-node              - Attaches a new backup node.
    node-password                 - Backup node password.
  detach-backup-node              - Detaches an already added backup node.
  list-backup-nodes               - Lists already added backup nodes.
  create-task                     - Creates a task.
    source                        - Defines a source dataset or zvol.
    destination                   - Defines a destination dataset or zvol.
    plan                          - Defines a custom retention plan. If it is not set, the default plan is set to 1hour_every_10min, 3day_every_1hour, 1month_every_1day.
    mbuffer                       - Enables an mbuffer for data transport.
    mbuffersize=number{b|k|M|G}   - Sets the buffer size. It supports the following units: b,k,M,G. If not set, the buffer size defaults to 1GB.
  enable-task                     - Enables a task.
  disable-task                    - Disables a task.
  delete-task                     - Deletes a task.
  list-tasks                      - Lists already created tasks.
  set-task-defaults               - Sets default parameters for tasks.
  get-task-defaults               - Gets default parameters for tasks.
  restart-tasks                   - Restarts all tasks.
  status                          - Status of the service.
  set                             - Lists current settings: list-backup-nodes, get-task-defaults, list-tasks.
  debug                           - Simulated run of the task.
  json                            - Displays in JSON format.
  help                            - Displays help.


ESX COMMANDS SUB-SET:

  esx register                    - Registers VMware vCenter or vSphere server.
    user                          - vCenter or vSphere administration user.
    password                      - vCenter or vSphere user password.
  esx unregister                  - Unregisters an already registered vCenter or vSphere  server.
  esx list                        - Lists already registered vCenter or vSphere  servers.
  esx query                       - Lists VMs details on registered vCenter or vSphere  servers.
  esx attach-datastore            - Attaches an ESX datastore to a given task.
    datastore                     - Datastore to be attached (IP_addr/datacenter_name/datastore_name).
                                    Note: Consistent snapshots are taken for all VMs in attached datastores except those with annotation: ##auto-snap-skip##
  esx detach-datastore            - Detaches an ESX datastore for a given task.
  esx list-datastores             - Lists datastores associated with a given task.
  esx set                         - Lists current ESX settings: esx query, esx list, esx list-datastores.


EXAMPLES:

1.  Attach new backup node:                          odps attach-backup-node 192.168.0.221 node-password admin
2.  Detach an already added backup node:             odps detach-backup-node 192.168.0.221
3.  List already added backup nodes:                 odps list-backup-nodes
4.1 Create a new task as local snapshots only, no replication at all.
      odps create-task source=Pool-0/dataset
      odps create-task source=Pool-0/zvol
4.2 Create a new task as local(192.168.0.220) backup from Pool-0 to Pool-1.
      odps create-task source=Pool-0/dataset destination=192.168.0.220:Pool-1/dataset
      odps create-task source=Pool-0/dataset plan=1h_every_1min,30d_every_4h destination=192.168.0.220:Pool-1/dataset
      odps create-task source=Pool-0/dataset plan=1h_every_1min,30d_every_4h destination=192.168.0.220:Pool-1/dataset plan=5h_every_10min
     Note: All missing options will be taken from task-defaults which can be set with set-task-defaults command.
4.3 Create a new task as a backup to the remote host 192.168.0.221 using mbuffer for data transport.
      odps create-task source=Pool-0/dataset destination=192.168.0.221:Pool-0/dataset mbuffer
      odps create-task source=Pool-0/dataset plan=1h_every_1min,30d_every_4h destination=192.168.0.221:Pool-0/dataset mbuffer mbuffersize=2G
      odps create-task source=Pool-0/dataset plan=1h_every_1min,30d_every_4h destination=192.168.0.221:Pool-0/dataset plan=5h_every_1min,1w_every_4h mbuffer mbuffersize=500M
     Note: All missing options will be taken from task-defaults which can be set with set-task-defaults command.
4.4 Create a new task as a backup to two remote hosts: 192.168.0.221 and 192.168.0.222.
      odps create-task source=Pool-0/dataset destination=192.168.0.221:Pool-0/dataset destination=192.168.0.222:Pool-1/dataset
      odps create-task source=Pool-0/dataset plan=1h_every_1min,30d_every_4h destination=192.168.0.221:Pool-0/dataset plan=5h_every_1min,1w_every_4h destination=192.168.0.222:Pool-0/dataset
     Note: All missing options will be taken from task-defaults which can be set with set-task-defaults command.
5   Enable a task:                                  odps enable-task Pool-0/dataset
6.  Disable a task:                                 odps disable-task Pool-0/dataset
7.  Delete a task:                                  odps delete-task Pool-0/dataset
8.  List already created tasks:                     odps list-tasks
9.  Restart all tasks:                              odps restart-tasks
10. Get task defaults:                              odps get-task-defaults
11. Set default plan for all tasks:                 odps set-task-defaults plan 5h_every_10min
12. Status of the service. Last entries from logs:  odps status
13. Simulated run of a task (dry-run):              odps debug Pool-0/dataset


ESX EXAMPLES:

1. Register a VMware vCenter or vSphere server:                   odps esx register 192.168.0.10 user user_name password user_password
2. Unregister an already registered vCenter or vSphere  server:   odps esx unregister 192.168.0.10
3. Lists already registered vCenter or vSphere  servers:          odps esx list
4. Lists VMs details on registered vCenter or vSphere  servers:   odps esx query 192.168.0.10
5. Attach an ESX datastore for a given task:                      odps esx attach-datastore Pool-0/dataset datastore 192.168.0.10/datacenter_name/datastore_name
6. Detach ESX datastore for a given task:                         odps esx detach-datastore Pool-0/dataset
7. Lists datastores associated with a given task:                 odps esx list-datastores Pool-0/dataset


RETENTION PLANS:
    The ODPS plan consists of a series of retention periods to interval associations: "retention_every_interval,retention_every_interval,retention_every_interval,...".
    Both intervals and retention periods use standard units of time or multiples of them, with full names or a shortcut according to the following list:
    second|sec|s, minute|min, hour|h, day|d, week|w, month|mon|m, year|y.

Konfiguracja replikacji

Po konfiguracji podstawowej zostaje rozpoczęta konfiguracja lokalnej i zdalnej replikacji.

Lokalna replikacja między dwoma lokalnymi pulami

Lokalna replikacja między dwoma lokalnymi pulami, Pool-0 i Pool-1 w tym przykładzie, zostaje przeprowadzona następującym poleceniem. Dla tego przykładu zostały wcześniej utworzone w interfejsie webowym JovianDSS dwie lokalne pule pamięci masowe.

odps create-task source=Pool-0/dataset destination=<IP-systemu-JovianDSS>:Pool-1/dataset

Zdalna replikacja

Zdalna replikacja na drugim węźle wymaga tylko kilku kroków konfiguracyjnych. Dodany zostaje drugi węzeł i zaplanowany backup task. Oba węzły zawierają, po obu stronach, pulę pamięci o nazwie "Pool-0". Węzeł kopi zapasowej zostaje dodany na pierwszym węźle i utworzony backup task.

Węzeł backupu Zdalny węzeł kopii zapasowej jest dodawany na węźle lokalnym za pomocą poniższego polecenia, które zawiera adres IP węzła kopii zapasowej i jego hasło.

$ ssh -i .ssh/node-7d7269fb.key -2 -p 22223 -l cli 10.1.102.230 odps attach-backup-node 10.1.102.234 node-password admin
Backup node has been attached.

Remote backup task

Po dodaniu węzła kopii zapasowej JovianDSS można utworzyć zadanie tworzenia kopii zapasowej ze zdalną replikacją do tego węzła. Należy wprowadzić katalog źródłowy na węźle lokalnym i katalog docelowy na węźle zdalnym.

$ ssh -i .ssh/node-7d7269fb.key -2 -p 22223 -l cli 10.1.102.230 odps create-task source=Pool-0/test destination=10.1.102.234:Pool-0/test-backup
Task has been successfully created.

Tworzenie zdalnych kopii zapasowych z buforami transferu danych

Transmisję można zbuforować za pomocą parametrów mbuffer lub mbuffer buffersize=<wielkość w MB>.

$ ssh -i .ssh/node-7d7269fb.key -2 -p 22223 -l cli 10.1.102.230 odps create-task source=Pool-0/test destination=10.1.102.234:Pool-0/test-backup {mbuffer|mbuffer mbuffersize=<wielkość w MB>}

Status zadań replikacji

Poniższe wyjściowe dane przedstawiają szczegółowy status, jest np. widoczne, że migawki są przesyłane na zdalny węzeł. W przypadku wystąpienia błędów, polecenie odps status pozwala na debugowanie błędu.

$ ssh -i .ssh/node-7d7269fb.key -2 -p 22223 -l cli 10.1.102.230 odps status
Service running: Yes
Last service logs:
[Thu Nov 10 16:30:13 2016] [info] running post snapshot command on Pool-0/test
[Thu Nov 10 16:30:15 2016] [info] running post snapshot command on Pool-0/test
[Thu Nov 10 16:30:17 2016] [info] running post snapshot command on Pool-0/test
[Thu Nov 10 16:30:19 2016] [info] running post snapshot command on Pool-0/test
[Thu Nov 10 16:30:21 2016] [info] running post snapshot command on Pool-0/test
[Thu Nov 10 16:30:24 2016] [info] running post snapshot command on Pool-0/test
[Thu Nov 10 16:30:26 2016] [info] running post snapshot command on Pool-0/test
[Thu Nov 10 16:30:27 2016] [info] done with backupset Pool-0/test in 25 seconds
[Thu Nov 10 16:30:27 2016] [debug] send/receive worker for Pool-0/test done (9540)
[Thu Nov 10 16:40:00 2016] [debug] snapshot worker for Pool-0/test spawned (12126)
[Thu Nov 10 16:40:00 2016] [info] creating snapshot on Pool-0/test
[Thu Nov 10 16:40:00 2016] [info] running post snapshot command on Pool-0/test
[Thu Nov 10 16:40:02 2016] [debug] snapshot worker for Pool-0/test done (12126)
[Thu Nov 10 16:40:02 2016] [debug] send/receive worker for Pool-0/test spawned (12269)
[Thu Nov 10 16:40:02 2016] [info] starting work on backupSet Pool-0/test
[Thu Nov 10 16:40:02 2016] [debug] sending snapshots from Pool-0/test to odp@10.1.102.234:Pool-0/test-backup
[Thu Nov 10 16:40:06 2016] [debug] cleaning up snapshots on odp@10.1.102.234:Pool-0/test-backup
[Thu Nov 10 16:40:06 2016] [debug] cleaning up snapshots on Pool-0/test
[Thu Nov 10 16:40:06 2016] [info] done with backupset Pool-0/test in 4 seconds
[Thu Nov 10 16:40:06 2016] [debug] send/receive worker for Pool-0/test done (12269)

Wykaz istniejących zadań

Za pomocą parametru list-tasks można wyświetlić listę istniejących zadań. Uprzednio utworzone zadanie tworzenia kopii zapasowej, wraz z jego właściwościami, jest przejrzyście przedstawione.

$ ssh -i .ssh/node-7d7269fb.key -2 -p 22223 -l cli 10.1.102.230 odps list-tasks
Source: Pool-0/test
	Enabled: yes
	Retention plan: 1hour_every_10minutes,3days_every_1hour,1month_every_1day
	Destination: odp@10.1.102.234:Pool-0/test-backup
		Retention plan: 1hour_every_10minutes,3days_every_1hour,1month_every_1day
	Mbuffer: on
	Mbuffer size: 1G


Usuwanie zadań i replikacji

Zadania i replikacje mogą zostać usunięte z CLI. Poniższe dwa przykłady pokazują jak może zostać to zrobione.

Usuwanie zadania

Zadania, np. zadanie tworzenia kopii zapasowej, można usunąć za pomocą delete-task <nazwa_zadania>

$ ssh -i .ssh/node-7d7269fb.key -2 -p 22223 -l cli 10.1.102.230 odps delete-task Pool-0/test
Task has been successfully deleted.

Odłączenie węzła backupu

Węzeł backupu może zostać odłączony poprzez wprowadzenie parametru detach-backup-node i adresu IP węzła.

$ ssh -i .ssh/node-7d7269fb.key -2 -p 22223 -l cli 10.1.102.230 odps detach-backup-node 10.1.102.234
Backup node has been detached.

Odnośniki


Autor: Thomas Niedermeier

Powiązane artykuły

Konfiguracja i informacje o systemie Open-E JovianDSS
Upgrade oprogramowania SvSAN
Windows Server 2012 - Storage Spaces - konfiguracja pamięci (pula magazynu, dyski wirtualne, woluminy)