Skip to content

blfgomes/puppet_aix_tunables

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

74 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

aix_tunables

Table of Contents

  1. Overview
  2. Module Description
  3. Usage
  4. Reference
  5. Limitations
  6. Development
  7. Authors
  8. Contributors

Overview

Configures AIX Kernel Tunables and Devices.

Module Description

This module configures the following Kernel Tunables on AIX:

  • asoo
  • ioo
  • nfso
  • no
  • schedo
  • vmo

Restricted tunables are not currently supported.

The following devices are configurable through this module:

  • disk
  • en
  • ent
  • sys0

Usage

Declaring classes

class {'aix_tunables::vmo':
  kernel_heap_psize => 65536,
  kernel_psize      => 65536,
  mbuf_heap_psize   => 65536,
  enforce_default   => true,
}

class {'aix_tunables::ioo':
  j2_dynamicbufferpreallocation => 32,
  numfsbufs                     => 1960,
  enforce_default               => true,
}

class {'aix_tunables::no':
  tcp_recvspace   => 262144,
  tcp_sendspace   => 262144,
  rfc1323         => 1,
  sack            => 1,
  enforce_default => true,
}

class {'aix_tunables::nfso':
  enforce_default => true,
}

class {'aix_tunables::disk::default':
  queue_depth  => 128,
  max_transfer => "0x100000",
}

Hiera

aix_tunables::vmo::kernel_heap_psize: 65536
aix_tunables::vmo::kernel_psize: 65536
aix_tunables::vmo::mbuf_heap_psize: 65536
aix_tunables::vmo::enforce_default: true

aix_tunables::ioo::j2_dynamicbufferpreallocation: 32
aix_tunables::ioo::numfsbufs: 1960
aix_tunables::ioo::enforce_default: true

aix_tunables::no::tcp_recvspace: 262144
aix_tunables::no::tcp_sendspace: 262144
aix_tunables::no::rfc1323: 1
aix_tunables::no::sack: 1
aix_tunables::no::enforce_default: true

aix_tunables::nfso::enforce_default: true

aix_tunables::disk::default::queue_depth: 128
aix_tunables::disk::default::max_transfer: "0x100000"

Reference

Classes

The classes below were implemented to configure AIX.

The reboot_notify_cmd parameter, defined in all classes, takes a string with the path of an executable to be called in case a setting that was applied requires a reboot.

The enforce_default parameter accepts true or false (default). When true, the parameters that were not explicitly declared are set to their default AIX value.

All other parameters were taken from the corresponding tunable parameter or device and their documentations should be consulted for an explanation of what they do.

aix_tunables::asoo

Parameters
aso_active
debug_level
enforce_default
reboot_notify_cmd

aix_tunables::ioo

Parameters
aio_maxreqs
aio_maxservers
aio_minservers
aio_server_inactivity
j2_atimeupdatesymlink
j2_dynamicbufferpreallocation
j2_inodecachesize
j2_maxpagereadahead
j2_maxrandomwrite
j2_metadatacachesize
j2_minpagereadahead
j2_npagesperwritebehindcluster
j2_nrandomcluster
j2_recoverymode
j2_syncpagecount
j2_syncpagelimit
lvm_bufcnt
maxpgahead
maxrandwrt
numclust
numfsbufs
pd_npages
posix_aio_active
posix_aio_maxreqs
posix_aio_maxservers
posix_aio_minservers
posix_aio_server_inactivity
enforce_default
reboot_notify_cmd

aix_tunables::nfso

Parameters
client_delegation
nfs_max_read_size
nfs_max_write_size
nfs_rfc1323
nfs_securenfs_authtimeout
nfs_server_base_priority
nfs_server_clread
nfs_use_reserved_ports
nfs_v3_server_readdirplus
nfs_v4_fail_over_timeout
portcheck
server_delegation
utf8_validation
enforce_default
reboot_notify_cmd

aix_tunables::no

Parameters
bsd_loglevel
fasttimo
init_high_wat
nbc_limit
nbc_max_cache
nbc_min_cache
nbc_ofile_hashsz
nbc_pseg
nbc_pseg_limit
ndd_event_name
ndd_event_tracing
net_buf_size
net_buf_type
net_malloc_frag_mask
netm_page_promote
sb_max
send_file_duration
sockthresh
sodebug
sodebug_env
somaxconn
tcp_inpcb_hashtab_siz
tcptr_enable
udp_inpcb_hashtab_siz
use_sndbufpool
clean_partial_conns
delayack
delayackports
hstcp
limited_ss
rfc1323
rfc2414
rto_high
rto_length
rto_limit
rto_low
sack
tcp_bad_port_limit
tcp_cwnd_modified
tcp_ecn
tcp_ephemeral_high
tcp_ephemeral_low
tcp_fastlo
tcp_fastlo_crosswpar
tcp_finwait2
tcp_icmpsecure
tcp_init_window
tcp_keepcnt
tcp_keepidle
tcp_keepinit
tcp_keepintvl
tcp_limited_transmit
tcp_low_rto
tcp_maxburst
tcp_mssdflt
tcp_nagle_limit
tcp_nagleoverride
tcp_ndebug
tcp_newreno
tcp_nodelayack
tcp_recvspace
tcp_sendspace
tcp_tcpsecure
tcp_timewait
tcp_ttl
tcprexmtthresh
timer_wheel_tick
udp_bad_port_limit
udp_ephemeral_high
udp_ephemeral_low
udp_recvspace
udp_sendspace
udp_ttl
udpcksum
directed_broadcast
ie5_old_multicast_mapping
ip6_defttl
ip6_prune
ip6forwarding
ip6srcrouteforward
ip_ifdelete_notify
ip_nfrag
ipforwarding
ipfragttl
ipignoreredirects
ipqmaxlen
ipsendredirects
ipsrcrouteforward
ipsrcrouterecv
ipsrcroutesend
lo_perf
maxnip6q
multi_homed
ndogthreads
nonlocsrcroute
subnetsarelocal
tn_filter
arpqsize
arpt_killc
arptab_bsiz
arptab_nb
dgd_packets_lost
dgd_ping_time
dgd_retry_time
ndp_mmaxtries
ndp_umaxtries
ndpqsize
ndpt_down
ndpt_keep
ndpt_probe
ndpt_reachable
ndpt_retrans
passive_dgd
rfc1122addrchk
lowthresh
medthresh
psebufcalls
psecache
psetimers
strctlsz
strmsgsz
strthresh
strturncnt
bcastping
dgd_flush_cached_route
icmp6_errmsg_rate
icmpaddressmask
ifsize
igmpv2_deliver
llsleep_timeout
main_if6
main_site6
maxttl
mpr_policy
pmtu_default_age
pmtu_expire
pmtu_rediscover_interval
route_expire
routerevalidate
rtentry_lock_complex
site6_index
tcp_pmtu_discover
udp_pmtu_discover
enforce_default
reboot_notify_cmd

aix_tunables::schedo

Parameters
affinity_lim
big_tick_size
ded_cpu_donate_thresh
fixed_pri_global
force_grq
maxspin
pacefork
proc_disk_stats
sched_d
sched_r
tb_balance_s0
tb_balance_s1
tb_threshold
timeslice
vpm_fold_policy
vpm_throughput_core_threshold
vpm_throughput_mode
vpm_xvcpus
enforce_default
reboot_notify_cmd

aix_tunables::vmo

Parameters
ame_cpus_per_pool
ame_maxfree_mem
ame_min_ucpool_size
ame_minfree_mem
ams_loan_policy
enhanced_affinity_affin_time
enhanced_affinity_vmpool_limit
esid_allocator
force_relalias_lite
kernel_heap_psize
lgpg_regions
lgpg_size
low_ps_handling
maxfree
maxpin_p
memplace_data
memplace_mapped_file
memplace_shm_anonymous
memplace_shm_named
memplace_stack
memplace_text
memplace_unmapped_file
minfree
minperm_p
nokilluid
npskill
npswarn
num_locks_per_semid
relalias_percentage
scrub
thrpgio_inval
thrpgio_npages
v_pinshm
vmm_default_pspa
vmm_klock_mode
wlm_memlimit_nonpg
enforce_default
reboot_notify_cmd

aix_tunables::disk::default

Parameters
configured_disks
algorithm
hcheck_cmd
hcheck_mode
max_transfer
queue_depth
reserve_policy
reboot_notify_cmd

Configures all disk devices not specified individually in aix_tunables::disk::config (see below) with the given values.

aix_tunables::disk::config

Parameters
disk_resources

Uses create_resources to configure disks individually. It should preferably be specified using hiera, but you can pass them as a hash of hashes otherwise.

Limitations

Tested on AIX 6.1 and Puppet 3.7.3. Restricted tunables are not currently supported.

Development

If you have any interest in contributing or using this module, please let me know! (See my email below!)

Authors

Bruno Gomes blfgomes@gmail.com

Contributors

Many thanks to:

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published