-
-
Notifications
You must be signed in to change notification settings - Fork 102
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
AIX_filesystem_config.sh #1547
Comments
For reference: here is a new system. Not knowing better I assigned a 40G disk. All is used, and /home is very small (nothing in it atm, but that will fail later I expect). Yet, /, /usr, /var, and /opt have about 25G free (over 50% of the storage provided). Also note - /tmp is still only 256 MB!
From experience, 1G is usually enough for / - yet this new system is already over that, by a bit. /usr shows more than a regular AIX system (rarely above 4G for 'normal systems, and regardless of size, usually between 95 and 99% full - as it grows on demand when using installp). It is not supposed to include 'data' files that grow over time. /var at 5G is fine - /var/tmp may need more - and syslog and errpt logs go here as well. /tmp - 256MB - bit small /home - well, it got the rest didn't it. Noone using it (yet), and it probably is not enough when they do (git clone ...). Looking into what is on / atm - foregoing that my proposal is to have / 2G /home 20G (assuming that fits - not done the math). The other change I'll make - as this is all ansible driven - is to reinstall with 60G of storage - and use the numbers above - MAYBE increase /home to 30G. Comments!? |
p.s. If you give me the permission and authority to kickoff the ansible process on (this) AIX host - I can rinse and repeat - to get the process perfected. |
I do not know anything about AIX, so only general remarks: If you think something can be improved, please do so and open a PR with explanations and justifications. This info also helps in the future if somebody wants to know why certain things are the way they are. Everything's bash because the build needs bash. However, |
ping @sxa |
I can ping @sxa again, but shall I put up a PR? This concerns both process and content (e.g., number of LP in a logical partition), and minimum size of harddisk - and on AIX, that should actually be the volume group, not a single physical volume. |
Right. I'll open a PR then. That bash is 'needed' later on is a good reason to have it installed. However, imho, for a configuration script - that can run without it (better, can run with the system shell) it is better to run with the system shell. I have no issues with bash - but this is 'process'. Needing bash for something later is 'content' - and should be dealt with separate from configuring storage. So - assuming 40G - how much is 'work/project' that should probably be specified for /home. As to /, /usr and /opt - where applications and application data are installed - the AIX way is to grow the filesystems, if/when needed. For RPM related packages - installed via rpm and/or yum - a check for free space could be made, and increased when not enough. (while isntallp can do this automatically). This idea is a template I could work on, or perhaps better - write a script that can be installed as part of the base config - and then give an RPM as argument and let it install. I hope that yum also has a preview mode - so it could report how much space it needs - and increase the filesystem on demand. However, first the basics - PR coming up (with comments). |
I feel @sej-jackson would be in favour of these changes too! (As would I, just to be clear!) FYI, the people who initially wrote the AIX scripts are no longer actively working on the project so they are in need of some maintenance |
My first assignment :p !!
…On 18/09/2020 12:28, Martijn Verburg wrote:
Assigned #1547
<#1547>
to @aixtools <https://github.com/aixtools>.
—
You are receiving this because you were assigned.
Reply to this email directly, view it on GitHub
<#1547 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/ACSZR5PMZE4CJUUCGETB4YLSGMY4ZANCNFSM4ROVTJGQ>.
|
A bit more serious - as AIX is not included in the CI of these files - what do I need to do to 'emulate' that. Is it possible to add a test server (that I can re-install for the rinse and repeat part) - or use one of the servers I already manage/setup. Ultimately - if not by default - I'll want to follow the complete chain (new system, configure, run odjk and/or nodejs (jenkins?) job. And, I suppose - along the path - I'll be able to update the AIX part of the documentation. |
You have to keep one thing in mind: Because we're using Bash everywhere, we have more people that are able to review changes and the appropriate tooling is already in place. If we were to switch to ksh for AIX, we'd need at least a replacement for shellcheck.
If you want to see whether your changes result in a working build, the easiest way is probably to provision a test machine that you have access to, run the playbooks on it afterwards and do a manual build by following the instructions in https://github.com/adoptopenjdk/openjdk-build#tldr-i-want-to-build-a-jdk-now. |
On 19/09/2020 11:43, Andreas Ahlenstorf wrote:
I have no issues with bash - but this is 'process'. Needing bash
for something later is 'content' - and should be dealt with
separate from configuring storage.
You have to keep one thing in mind: Because we're using Bash
everywhere, we have more people that are able to review changes and
the appropriate tooling is already in place. If we were to switch to
ksh for AIX, we'd need at least a replacement for shellcheck.
Agreed. Bash needs to be available - and apparently it was installed (in
the wrong way, imho should not expect #!/bin/bash) before this script
gets run.
FYI: Their was nothing in the previous script that needed bash. My idea
is to find where it is being installed (using your hint below, thx), and
find, where it (should) be documented.
In short, use system (ksh) for system config stuff; ensure (elsewhere),
that bash is available for the scripts that depend on it.
Is it possible to add a test server (that I can re-install for the
rinse and repeat part) - or use one of the servers I already
manage/setup.
If you want to see whether your changes result in a working build, the
easiest way is probably to provision a test machine that you have
access to, run the playbooks on it afterwards and do a manual build by
following the instructions in
https://github.com/adoptopenjdk/openjdk-build#tldr-i-want-to-build-a-jdk-now.
Thx. I'll chat with @sxa to steal one that has been setup, but is not
yet configured. And, I'll try a scratch server as well.
…
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#1547 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/ACSZR5OBXRKBZNDFVJMOZUTSGR4KZANCNFSM4ROVTJGQ>.
|
Update: On the scratch server - the "I want to build...now" starting point is, imho, after the script(s) we are discussing here. On a scratch server (no FS config, no OSS tools installed, no Java installed - I started the script - after cloning - as This gave various warnings: I needed to install Java8_64 and set JDK8_BOOT_DIR to get past some warnings and cannot find errors: But now it dies with:
All very interesting - as I can really check/find perquisites needed for AIX, BUT(!) I still not not how to manually "ci" this repository. Michael |
You need a JDK 10 as boot JDK to build 11 and pass that with |
So - how to bootstrap when I do not have any JDK? Or do I need to start with jdk9? This is bootstrap from "I currently have nothing". Edit: Update: answer No: jdk9 as 'target' fails in the same way. Edit2: jdk8u as target also fails. So, question: how to start 'from nothing'. |
Do you mean by above that I should call Going to try that, in any case. (update: fails as above, but you probably knew it would). Edit add: I assume nothing - Blinders (as in horse pulling trailer) on, view on 'Infinity'. (I have no big issue with falling all over missing assumptions - as that is the best way to document them all). 'Rinse and Repeat' til the wash is perfect! |
You really have to run https://github.com/AdoptOpenJDK/openjdk-infrastructure/blob/master/ansible/playbooks/aix.yml before And that happens by |
:) Thx. One step back - then more steps forward. Edit: and where do I find 'ansible-playbook'? By 'installing' ansible? (on AIX, or Windows, or Linux, etc..)? |
See README in https://github.com/AdoptOpenJDK/openjdk-infrastructure/tree/master/ansible. [If you want help via chat, there's https://adoptopenjdk.net/slack.html. It's very quiet on weekends.] |
I have ansible for AIX. Will try tomorrow if I have time, otherwise on Monday. |
Took a bit longer than expected to test local ansible: but it is working, even if the playbook is failing. e.g., I have python3(.6) installed, but it is not looking at the right location. So, I'll have to open a new PR for aix.yml I guess.
|
As an FYI we hit an issue with a new server last week which had a relatively small (I think 40G) |
I guess I can try and move this off the back burner. |
@aixtools Any movement on this? |
This is a good 'ping', I have some work on CIS AIX Security Benchmark to finish up, plus issues from a power outage as OSU - then I can start on this again. |
Just reviewed - and the last work on this was before the current playbook structure was used (using many role definitions as sub-tasks). The goal now is to remove this file and get everything into a playbook. Will open a new issue for that. |
Closing this issue. New issue is #2336 |
This does not look like it was written by an an AIX admin.
It checks for bash being installed, but it is #! (has bang) started by /bin/bash (which iirc is not where bash should be - maybe packages have changed).
As far as I can see, everything in the script would work fine using ksh. (And then checking for bash would be okay, but what does that have to do with filesystems?).
The is a 'constant' being used to increase the default number of logical partition segments from 512 to 2048? Why? This doesn't hurt anything - but changes should not be made on a whim. What is the goal? To be able to assign 2048 * 1G for every filesystem. While the defaults - one a single disk system do not provide more than 1016 partitions on the disk.
To an AIX admin, imho, it looks sloppy and pointless.
Further, without going into a lot of detail - the idea of trying to assign all the space available in the disk to filesystems goes contrary to all IBM AIX education principles. AIX storage administration is 'on demand' - grow as you need it. This looks more like how UNIX and Xenix was setup 30+ years ago when you had to use a program like
divvy
to partition the disk prior to creating file systems. Everyone uses logical volume managers so that this kind of pre-sizing is outdated - at least on AIX.So, are you willing to consider an alternative approach to setting up AIX?
The text was updated successfully, but these errors were encountered: