我正在尝试使用Packer和puppet-masterless构建器创建AMI。我想将20G ebs卷装到/test
。
基本上我想使用puppet自动执行以下命令。我试过但还没有成功。我是木偶的新手并尝试使用lvm模块,但面临问题。有人可以提出正确的方法来实现以下目标吗?
fdisk /dev/xvdk
mkfs -t xfs /dev/xvdk1
mkdir -p /test
echo "/dev/xvdk1 /test xfs defaults 0 0" >> /etc/fstab
mount /test
答案 0 :(得分:2)
由于您说您正在使用lvm
模块,因此以下是您在Puppet中完成所述内容的方法。
# there is no Puppet intrinsic for this
exec { '/sbin/fdisk /dev/xvdk': unless => '/bin/lsblk /dev/xvdk' }
# create the /dev/xvdk1 filesystem
filesystem { '/dev/xvdk1':
ensure => present,
fs_type => xfs,
require => Exec['/sbin/fdisk /dev/xvdk1'], # after partition created
}
# create directory
file { '/test': ensure => directory }
# mount /test
mount { '/test':
ensure => mounted, # mount /test
device => '/dev/xvdk1', # next five lines fstab mount options
fstype => xfs,
options => defaults,
dump => 0,
pass => 0,
atboot => true, # add entry to fstab
require => File['/test'], # after dir created
subscribe => Filesystem['/dev/xvdk1'], # remount if/when filesystem changes
}
请注意,您不是在此过程中创建卷组或逻辑卷,并且您可能希望(尤其是逻辑卷)成功完成此操作。但是,上述Puppet资源将完美地执行您在问题中描述的命令。
答案 1 :(得分:0)
试试这个:
mount /dev/xvdk1 /test
希望有所帮助