如何在AWS上使用puppet运行fdisk

我正在尝试使用Packer和puppet-masterless builder创build一个AMI。 我想挂载一个20G的ebs卷到/test

基本上我想用puppet自动执行下面的命令。 我尝试过,但没有成功。 我是傀儡新手,尝试使用lvm模块,但面临着一些问题。 有人可以build议适当的方式来实现以下吗?

 fdisk /dev/xvdk mkfs -t xfs /dev/xvdk1 mkdir -p /test echo "/dev/xvdk1 /test xfs defaults 0 0" >> /etc/fstab mount /test 

既然你说你正在使用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资源将完美地执行您在问题中描述的命令。

你应该在Puppet中使用mount类型 。

尝试这个:

 mount /dev/xvdk1 /test 

希望能帮助到你