我找不到Debian的vdo软件包,而我自己编译和运行该软件的尝试也失败了。谁能解释一下如何编译vdo以便与Debian一起使用,因为这是RHEL在收购另一家公司后发布的软件。
我目前的步骤是:
apt-get update -y
apt-get install -y git sudo
sudo apt-get upgrade -y
sudo apt-get install -y build-essential libdevmapper-dev libz-dev uuid-dev
git clone https://github.com/dm-vdo/vdo.git
make
make install
sudo apt install -t stretch-backports linux-headers-$(uname -r)
git clone https://github.com/dm-vdo/kvdo.git
make -C /usr/src/linux-headers-`uname -r` M=`pwd`
cp vdo/kvdo.ko /lib/modules/$(uname -r)
cp uds/uds.ko /lib/modules/$(uname -r)
depmod
modprobe kvdo
modprobe uds
systemctl start vdo
// error with
Starting VDO volume services...
Traceback (most recent call last):
File "/usr/bin/vdo", line 46, in
from vdo.utils import Command发布于 2019-05-13 18:12:59
OP的问题是不完整的:不包括错误消息的末尾,其中包含用于解决此问题的important线索。这就是它(关于Debian的破坏者)。Debian 9将转而搜索python3.5 3.5):
# vdo status
Traceback (most recent call last):
File "/usr/local/bin/vdo", line 46, in
from vdo.utils import Command
File "/usr/local/lib/python3.7/dist-packages/vdo/utils/__init__.py", line 27, in
from .YAMLObject import YAMLObject
File "/usr/local/lib/python3.7/dist-packages/vdo/utils/YAMLObject.py", line 33, in
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员工那里中获得。
https://unix.stackexchange.com/questions/518549
复制相似问题