Hi Simon,
 That is very helpful, I am going to go through your puppet
definition. Ill post any questions I have to this thread. Thanks a lot
everyone!
-Tom

On Mar 17, 3:00 am, sjm...@pobox.com wrote:
> mcgona...@gmail.com (TomTom) writes:
> >  I am trying to puppetize a multi-mysql installation. Our mysql
> > consultant suggested that we use the pre-compiled binary installations
> > from mysql.com.
> >  So a multi-instance mysql installation would look like
> > /data01/multi_mysql/mysql_A/
> > /data01/multi_mysql/mysql_B/
> > /data01/multi_mysql/mysql_C/
>
> I do something like this storing each instance under
> /mysql/<instance_name> though I have an lvm partition under filesystem
> and puppet builds this for me.
>
> In case it helps I do it like this:
>
> ###########################################################################
> # This is for creating a partition of the defined type if it doesn't exit
> # and mounting it.
> # Typical usage:
> # logicalvolume{ "/tmp/mount_point":
> #     $lvsize   => "20G",
> #     $fstype   => "xfs",
> #     $mode     => "755",
> # }
> #
> # NOTE: use mode 755 for /mysql/<instance> as local socket access for all
> #       users requires access to /mysql/<instance>/data/mysql.sock and mode
> #       750 breaks that unless you are the user mysql or part of the mysql
> #       group.  
>
> # Manage a partition and create if needed.
> # The name SHOULD be the mount point, such as "/mysql/bp"
> define logicalvolume (
>     $lvsize   = "1G",
>     $fstype   = "ext3",
>     $vgname   = "vg00",
>     $lvname   = "$name",
>     $owner    = "root",
>     $group    = "root",
>     $mode     = "755" ) {
>
>     # FIXME: Ensure the user/group exist before trying to create the directory
>     # $ getent passwd | grep ^$user: | wc -l   # could be replaced by id ?
>     # 1
>     # $ getent group | grep ^$group: | wc -l   # replacable by something else?
>     # 1
>     # The mysql user will only exist once the MySQL rpm has been installed,
>     # but we can't add the package dependency here as lvm configs should not
>     # depend on mysql configs.
>
>     file { "${name}":
>         ensure => directory,
>         owner  => $owner,
>         group  => $group,
>         mode   => $mode,
>     }      
>
>     exec { "lvcreate-${vgname}-${lvname}":
>         path        => [ "/sbin", "/bin", "/usr/sbin", "/usr/bin" ],
>         logoutput   => false,
>         command     => "lvcreate -n ${lvname} -L ${lvsize} /dev/${vgname} && 
> mkfs -t ${fstype} /dev/${vgname}/${lvname}",
>         unless      => "lvs | grep -q '${lvname}.*${vgname}'",
>         subscribe   => File[ "$name"],
>     }
>
>     mount { "${name}":
>         atboot    => true,
>         device    => "/dev/$vgname/$lvname",
>         ensure    => mounted,
>         fstype    => "${fstype}",
>         options   => "defaults",
>         dump      => "1",
>         pass      => "2",
>         require   => [ Exec["lvcreate-${vgname}-${lvname}"], File["${name}"] 
> ],
>     }
>
> }
>
> Then for each instance I need to build I define a class
>
> class instance_01 {
>         ... other stuff for this group of boxes
>         logicalvolume { "/mysql/instance_01":
>                 lvname   => "mysqlVol",
>                 lvsize   => "150G",
>                 fstype   => "xfs",
>                 vgname   => "sysvm",
>                 owner    => "mysql",
>                 group    => "mysql",
>                 mode     => "755",
>         }
>
> }
>
> This doesn't include your tarball extract and of course may need
> adjusting for your environment but basically does the same thing as
> you want. It works well for me.
>
> Hope it helps.
>
> Simon
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Puppet Users" group.
To post to this group, send email to puppet-users@googlegroups.com
To unsubscribe from this group, send email to 
puppet-users+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/puppet-users?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to