Добавление громкости кирпича в Gluster не удается

Вышеупомянутый

printf '%s\n' "$LS"

- единственно верное решение.

Позвольте мне продемонстрировать, что другие предложенные решения, как с echo так и с printf, просто не работают должным образом:

$ mkdir t
$ cd t
$ touch \\n
$ LS=$(ls -l)
$ echo "$LS"
total 0
-rw-r--r--  1 domain  domain  0 Nov  5 06:12

$ printf "$LS\n"
total 0
-rw-r--r--  1 domain  domain  0 Nov  5 06:12

$ printf '%s\n' "$LS"
total 0
-rw-r--r--  1 domain  domain  0 Nov  5 06:12 \n
$ ls -l
total 0
-rw-r--r--  1 domain  domain  0 Nov  5 06:12 \n
$ rm \\n
$ cd ..
$ rmdir t
$

(Можно также проверить с V=$(printf 'line0:\\\n\n\n\nline1. \n') printf '%s\n' "$V" и вариации.)

В то время как \n в именах файлов может встречаться не так часто, храните git diff в переменной, и ваши шансы встретить литерал \n резко возрастают.

1
12.07.2018, 05:33
1 ответ

Необходимо включить replica $COUNT. Это известная проблема, когда у вас включены реплики :

.

Current design constraints in replicate module doesn't allow for us to add individual bricks into an existing topology.

Сценарий

Вы пробовали что-то подобное:

$ gluster vol add-brick test-volume-replicated3 \
     host:/rhss/bricks/brick1/test-volume-replicated3

volume add-brick: failed: Incorrect number of bricks supplied 1 with count 2

В вашем сценарии, скорее всего, настроено несколько реплик для вашего тома gluster, потому что он изначально был построен таким образом:

$ gluster vol create test-volume-replicated3 replica 3 \
    host1:/rhss/bricks/brick1/test-volume-replicated3 \
    host2:/rhss/bricks/brick1/test-volume-replicated3 \
    host3:/rhss/bricks/brick1/test-volume-replicated3
volume create: test-volume-replicated3: success: please start the volume to access data

И в настоящее время его топология выглядит так:

$ gluster vol info test-volume-replicated3

Volume Name: test-volume-replicated3
Type: Replicate
Volume ID: 10b3d0e2-14a2-4ec3-a98c-9a3307f3fd8f
Status: Created
Number of Bricks: 1 x 3 = 3
Transport-type: tcp
Bricks:
Brick1: host1:/rhss/bricks/brick1/test-volume-replicated3
Brick2: host2:/rhss/bricks/brick1/test-volume-replicated3
Brick3: host3:/rhss/bricks/brick1/test-volume-replicated3

Таким образом, чтобы ваша команда запустилась, вы должны сообщить gluster количество реплик при добавлении другого кирпича:

$ gluster vol add-brick test-volume-replicated3 replica 3 \
   host:/rhss/bricks/brick1/test-volume-replicated3 \
   host:/rhss/bricks/brick2/test-volume-replicated3 \
   host:/rhss/bricks/brick3/test-volume-replicated3

Ссылки

0
28.01.2020, 00:32

Теги

Похожие вопросы