1

Нужно клонировать пул 400 ГБ на другую машину. Будет ли это работать? Сначала я собираю данные о существующем пуле:

[root@oktest-prod-db-2 ~]# lvdisplay --units B vg_oktestdb2/pool
  --- Logical volume ---
  LV Name                pool
  VG Name                vg_oktestdb2
  LV UUID                tPfUzG-bHW2-jepz-1Sf6-BSmw-jKz4-Tf6djR
  LV Write Access        read/write
  LV Creation host, time oktest-db-2, 2015-03-31 18:55:17 +0300
  LV Pool transaction ID 134
  LV Pool metadata       pool_tmeta
  LV Pool data           pool_tdata
  LV Pool chunk size     262144 B
  LV Zero new blocks     yes
  LV Status              available
  # open                 0
  LV Size                474031849472 B
  Allocated pool data    10.16%
  Allocated metadata     7.66%
  Current LE             113018
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           253:5

Затем создайте новый пул с таким же размером:

[root@oktest-prod-db-1-new ~]# lvcreate -L 474031849472b -T vg_oktestdb1/pool --chunksize 256k
  Logical volume "lvol0" created
  Logical volume "pool" created

И, наконец, скопируйте его через ssh:

[root@oktest-prod-db-2 ~]# dd bs=128k if=/dev/mapper/vg_oktestdb2-pool | ssh root@oktest-prod-db-1-new 'dd bs=128k of=/dev/mapper/vg_oktestdb1-pool'

Теперь я просто сижу и жду несколько часов

Upd: это работало тогда.

1 ответ1

0

Не уверен, как это происходит через канал к сеансу SSH, но я привык делать это с Netcat

сначала запустите прослушивающую netcat на целевом сервере:

netcat -p 1237 -l | dd of=<destination lv path/name> obs=$((1024*1024)) ibs=8192

Затем на исходном сервере

dd ibs=$((1024*1024)) obs=8192 <source lv path/name>  | pv | netcat <ip of destination server> 1237

Конечно, вы можете пропустить часть "pv" и изменить порт "1237" на тот, который пройдет через ваши брандмауэры.

Также вы можете передать это в gzip, но по моему опыту это не большой выигрыш.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .