Компиляция VDO для использования в Debian

Перл спешит на помощь!

perl -ane '
    sub out { print "@_\n" }
    if ($F[2] != $three) {
        out($one, $two, $three) if defined $one;
        ($one, $three) = @F[0, 2];
    }
    $two = $F[1];
    END { out($one, $two, $three) }
    ' < input > output
  • -nсчитывает ввод построчно и запускает код для каждой строки;
  • -aразбивает каждую строку на массив @F по пробелам;
  • if defined $oneпропускает вывод первой строки (третий столбец отличается от предыдущего, но пока нечего выводить );
  • блок END необходим для печати последнего блока
2
12.05.2019, 17:09
1 ответ

Вопрос OP неполный :конец сообщения об ошибке, который содержитважную подсказкудля решения этой проблемы, не включен. Вот он (в Debian buster. Debian 9 вместо этого будет искать python3.5):

# vdo status
Traceback (most recent call last):
  File "/usr/local/bin/vdo", line 46, in <module>
    from vdo.utils import Command
  File "/usr/local/lib/python3.7/dist-packages/vdo/utils/__init__.py", line 27, in <module>
    from.YAMLObject import YAMLObject
  File "/usr/local/lib/python3.7/dist-packages/vdo/utils/YAMLObject.py", line 33, in <module>
    import yaml
ModuleNotFoundError: No module named 'yaml'

Таким образом, код Python нуждается в модуле yaml .

# apt-cache search python3 yaml | grep yaml | head -5
python3-pretty-yaml - module to produce pretty and readable YAML-serialized data (Python 3)
python3-xstatic-js-yaml - JavaScript yaml implementation - XStatic support
python3-xstatic-json2yaml - converts json or simple javascript objects into a yaml - XStatic support
python3-yamlordereddictloader - loader and dump for PyYAML keeping keys order
python3-yaml - YAML parser and emitter for Python3

# apt-get install python3-yaml

[...]

# vdo status
VDO status:
  Date: '2019-05-13 19:33:06+02:00'
  Node: somenode
Kernel module:
  Loaded: true
  Name: kvdo
  Version information:
    kvdo version: 6.2.0.293
Configuration:
  File: does not exist
  Last modified: not available
VDOs: {}

Вот именно. Обратите внимание, что без какой-либо настройки ничего не запустится. Вы должны следовать указаниям Redhat:1.5. Создание тома VDO .

Вот пример, который я запустил:

# vdo create --name=vdo-data --device=/dev/md0 --vdoLogicalSize=8T
Creating VDO vdo-data
Starting VDO vdo-data
Starting compression on VDO vdo-data
VDO instance 0 volume is ready at /dev/mapper/vdo-data

Даже не устанавливая его полностью, просмотр vdo.serviceдает достаточно информации:

ExecStart=/usr/bin/vdo start --all --confFile /etc/vdoconf.yml

Так вручную:

# vdo start --all --confFile /etc/vdoconf.yml
Starting VDO vdo-data
VDO instance 0 volume is ready at /dev/mapper/vdo-data

# ps -ef|grep vdo
root     11590     2  0 19:53 ?        00:00:00 [kvdo0:dedupeQ]
root     11593     2  0 19:53 ?        00:00:00 [kvdo0:journalQ]
root     11594     2  0 19:53 ?        00:00:00 [kvdo0:packerQ]
root     11595     2  0 19:53 ?        00:00:00 [kvdo0:logQ0]

[...]

# vdo status
VDO status:
  Date: '2019-05-13 19:54:46+02:00'
  Node: somenode
Kernel module:
  Loaded: true
  Name: kvdo
  Version information:
    kvdo version: 6.2.0.293
Configuration:
  File: /etc/vdoconf.yml
  Last modified: '2019-05-13 19:53:35'
VDOs:
  vdo-data:
    Acknowledgement threads: 1
    Activate: enabled
    Bio rotation interval: 64
    Bio submission threads: 4
    Block map cache size: 128M
    Block map period: 16380
    Block size: 4096
    CPU-work threads: 2
    Compression: enabled
    Configured write policy: auto
    Deduplication: enabled
    Device mapper status: 0 17179869184 vdo /dev/md0 normal - online online 1151960 242161600
    Emulate 512 byte: disabled
    Hash zone threads: 1
    Index checkpoint frequency: 0

[...]

Заключительное примечание :для запуска на ядре >= 4.20, что по умолчанию требует отсутствия вариационной функции в ядре, необходимы изменения для kvdo. Самый простой — игнорировать соответствующие предупреждения, пока проект сам не исправит затронутые функции. Исправленное дерево 2x2 строк можно получить у другого сотрудника RH там .

3
27.01.2020, 22:17

Теги

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