agradmin
asked on
Configuration requirements for Dynamics AX 2009 load balancing
We are setting up a new DAX 2009 system and I wish to test load balancing across 2 AOS servers. The system will not use a dedicated load balancer.
On the two servers (AOS1, AOS2) we have test instances set up (eg Test1, Test2) - these are currently accessing the same & database.
I have shared the Test1 application folder on AOS1, with read permissions applied to Domain Admins and the AX service (domain) account for the AOS2/Test2 instance.
Other than adding both servers to a new Cluster is there anything else I need to do? Do I need to modify the AOS2/test2 config file (if so, how)?
If someone can provide a link to a detailed description of how to set this up (I find the Admin guide lacking...) I would appreciate it.
Thanks in advance for the expert help. I've been kind of hung out to dry by the consultants that came in to install the system so any help would be appreciated.
On the two servers (AOS1, AOS2) we have test instances set up (eg Test1, Test2) - these are currently accessing the same & database.
I have shared the Test1 application folder on AOS1, with read permissions applied to Domain Admins and the AX service (domain) account for the AOS2/Test2 instance.
Other than adding both servers to a new Cluster is there anything else I need to do? Do I need to modify the AOS2/test2 config file (if so, how)?
If someone can provide a link to a detailed description of how to set this up (I find the Admin guide lacking...) I would appreciate it.
Thanks in advance for the expert help. I've been kind of hung out to dry by the consultants that came in to install the system so any help would be appreciated.
ASKER
Thanks Aqusacil - I was hoping you'd respond following my earlier load balancing Q.
If I am reading you/MS correctly there are no configuration changes that need to be made to the server config? I would have thought that as all instances are accessing the AOS1/test1 application files then all instances that are members of the load balance cluster (in my case AOS2/test2) would have to point to those files.
Can you please confirm?
The cluster document you provided does not indicate anything about AOS's using the same application files, the need to share these files, or any configuration requirements on the server side.
FYI - we are not using a dedicated load balancer and I am familiar with the client side setup.
If I am reading you/MS correctly there are no configuration changes that need to be made to the server config? I would have thought that as all instances are accessing the AOS1/test1 application files then all instances that are members of the load balance cluster (in my case AOS2/test2) would have to point to those files.
Can you please confirm?
The cluster document you provided does not indicate anything about AOS's using the same application files, the need to share these files, or any configuration requirements on the server side.
FYI - we are not using a dedicated load balancer and I am familiar with the client side setup.
Hi,
AX does not require and validate that all AOSes that belong to a cluster point to the same application file. You can still run load balancing cluster although each AOS member is configured to different application file.
The only mandatory thing is that all AOSes of a cluster point to a single database.
AX does not require and validate that all AOSes that belong to a cluster point to the same application file. You can still run load balancing cluster although each AOS member is configured to different application file.
The only mandatory thing is that all AOSes of a cluster point to a single database.
ASKER
Thanks Aqusacil,
In my last question I thought it was affirmed that all AOS's had to point to the same application file location if they were to participate in a load balancing cluster (as per MS manual). If this is not a requirement that is fine, but I'm still wondering about setup details if we were to go this route.
I have pointed my 2nd AOS server/instance to the shared 1st server/instance folder. This is achieved via the server config utility/application file location and I am receiving an environment error when the service attampts to restart. I'm not sure at this point if this is due to the share location being wrong (ie C:\Program Files\Microsoft Dynamics AX\50\Application\Appl\Tes t1 shared as \\AOS1\test1), whether my understanding is wrong (any other config changes needed?) or whether I'm missing something (eg AOS's need to be added to cluster in advance).
I have scoured the inet for explicit instructions on how to set up load balancing in this manner but have been unable to find anything other than generalities.
Any help you can give on how to point to common application files, or preferred method (access common files or not?) would be greatly appeciated.
In my last question I thought it was affirmed that all AOS's had to point to the same application file location if they were to participate in a load balancing cluster (as per MS manual). If this is not a requirement that is fine, but I'm still wondering about setup details if we were to go this route.
I have pointed my 2nd AOS server/instance to the shared 1st server/instance folder. This is achieved via the server config utility/application file location and I am receiving an environment error when the service attampts to restart. I'm not sure at this point if this is due to the share location being wrong (ie C:\Program Files\Microsoft Dynamics AX\50\Application\Appl\Tes
I have scoured the inet for explicit instructions on how to set up load balancing in this manner but have been unable to find anything other than generalities.
Any help you can give on how to point to common application files, or preferred method (access common files or not?) would be greatly appeciated.
Hi,
As per previous question, the recommended topology is to use single application file, although it is not being enforced by the program.
Regarding error when starting, it may help if you can check any message in the event viewer for both the AOS server that fails, and the database server.
To point to application files on another server use folder share. Check if the application instance field can be looked up once the application file location field is set.
Note that AOS service account need full access to the shared folder. And it needs the following roles in the database (SQL Server) : db_ddladmin, db_datareader, and db_datawriter. Also the account must be granted execute rights on the createserversessions and
createusersessions stored procedures.
It is also easier if you use the same domain account for both AOSes.
As per previous question, the recommended topology is to use single application file, although it is not being enforced by the program.
Regarding error when starting, it may help if you can check any message in the event viewer for both the AOS server that fails, and the database server.
To point to application files on another server use folder share. Check if the application instance field can be looked up once the application file location field is set.
Note that AOS service account need full access to the shared folder. And it needs the following roles in the database (SQL Server) : db_ddladmin, db_datareader, and db_datawriter. Also the account must be granted execute rights on the createserversessions and
createusersessions stored procedures.
It is also easier if you use the same domain account for both AOSes.
ASKER
In the Systems log I'm getting an "environment is not correct" error. The applications log gives the following;
Object Server 01: The directory "\\AOS1\Test1\bin" does not exist or access to it has been denied by the operating system.
I have created the bin folder but the service will still not start. The same service account is used for both instances, accessing the same dB. I'm thinking at this point that the error may be due to the fact that the AOS2/Test2 environment was created as a standalone on AOS2, and now we're pointing to another environment/file structure the process is failing as the structures do not match.
My plan is to now create a new instance AOS2/Test3 and during its installation point to AOS1/test1 for its application files. Does this make logical sense to you?
Object Server 01: The directory "\\AOS1\Test1\bin" does not exist or access to it has been denied by the operating system.
I have created the bin folder but the service will still not start. The same service account is used for both instances, accessing the same dB. I'm thinking at this point that the error may be due to the fact that the AOS2/Test2 environment was created as a standalone on AOS2, and now we're pointing to another environment/file structure the process is failing as the structures do not match.
My plan is to now create a new instance AOS2/Test3 and during its installation point to AOS1/test1 for its application files. Does this make logical sense to you?
Hi,
The folder that you should share is C:\Program Files\Microsoft Dynamics AX\50\Application (The folder just above Appl folder). Then on AOS2 you point to this share folder for application file location.
The error is actually saying that there is no bin folder under the shared folder (which it should).
There is no difference between new installation and change after installation.
The folder that you should share is C:\Program Files\Microsoft Dynamics AX\50\Application (The folder just above Appl folder). Then on AOS2 you point to this share folder for application file location.
The error is actually saying that there is no bin folder under the shared folder (which it should).
There is no difference between new installation and change after installation.
ASKER
Thanks Aqusacil,
We actually have 2 sets of applcation files under the Application\Appl folder - let's say Test1 & Dev1. How do we point to the Test1 files (or is this even possible)?
We actually have 2 sets of applcation files under the Application\Appl folder - let's say Test1 & Dev1. How do we point to the Test1 files (or is this even possible)?
ASKER CERTIFIED SOLUTION
membership
Create a free account to see this answer
Signing up is free and takes 30 seconds. No credit card required.
ASKER
Great support - thanks!
ASKER
Aqusacil - I have a follow up question I am hoping you can answer;
I believe you indicated that although MS advises the application folder on one of the AOS's has to be shared we can actually load balance with each AOS in the cluster pointing to its own local application files.
The MS preferred way ( ie sharing files on one AOS server) produces a single point of failure - if the server is down at any point the cluster will surely fail
The second method would appear to be more fault tolerant, but at the expense of each set of application files having to kept in sync. If I'm reading this right in this case the client config would be such that if AOS1 is down the client would connect to AOS2.
Do you have any insight into what provides the best scenario (we will have 3 AOS servers, 300 users) and how others are setting this up?
I believe you indicated that although MS advises the application folder on one of the AOS's has to be shared we can actually load balance with each AOS in the cluster pointing to its own local application files.
The MS preferred way ( ie sharing files on one AOS server) produces a single point of failure - if the server is down at any point the cluster will surely fail
The second method would appear to be more fault tolerant, but at the expense of each set of application files having to kept in sync. If I'm reading this right in this case the client config would be such that if AOS1 is down the client would connect to AOS2.
Do you have any insight into what provides the best scenario (we will have 3 AOS servers, 300 users) and how others are setting this up?
Hi,
The approach we discuss so far only cater for load balancing, i.e. sharing workload to more than one AOSes. But this does not cater for fault tolerant. If the goal is both load balancing and fault tolerant, consider placing the application files on a separate server with disk mirroring.
According to a MS guy, the maximum an AOS can support is 125 concurrent users, so you are right to have 3 AOSes to serve 300 concurrent users. That means you need one more server to place application files.
The approach we discuss so far only cater for load balancing, i.e. sharing workload to more than one AOSes. But this does not cater for fault tolerant. If the goal is both load balancing and fault tolerant, consider placing the application files on a separate server with disk mirroring.
According to a MS guy, the maximum an AOS can support is 125 concurrent users, so you are right to have 3 AOSes to serve 300 concurrent users. That means you need one more server to place application files.
ASKER
Thanks,
All of our servers are either RAID1 or RAID5 - I was thinking more along the lines that if AOS1 is unavalable for any reason the instance on AOS2 (and future AOS3) will fail as it points to the shared application files on AOS1.
Would you recommend having each server configured to point to local files and keep them synchronized?
When MS recommend a limit of 125 concurrent users that wuld be split across the 3 AOS servers/instances in either model, correct?
All of our servers are either RAID1 or RAID5 - I was thinking more along the lines that if AOS1 is unavalable for any reason the instance on AOS2 (and future AOS3) will fail as it points to the shared application files on AOS1.
Would you recommend having each server configured to point to local files and keep them synchronized?
When MS recommend a limit of 125 concurrent users that wuld be split across the 3 AOS servers/instances in either model, correct?
Hi,
I think that is depend on your availability requirement. If you can afford to have downtime for e.g. 10 mins to reconfigure the server and restart, I would not recommend you to have each AOS has its own local files.
If you need 24/7 then you can use local file on each AOS. But in this model when you add new object or hotfix or service pack to one AOS, you need stop other AOSes to synchronize the files which means downtime for these others AOSes (but of course you can have a planned downtime to do this).
The recommendation of max 125 concurrent users works for either model. Note this is not official MS recommendation but from an experience from a friend who work at MS.
I think that is depend on your availability requirement. If you can afford to have downtime for e.g. 10 mins to reconfigure the server and restart, I would not recommend you to have each AOS has its own local files.
If you need 24/7 then you can use local file on each AOS. But in this model when you add new object or hotfix or service pack to one AOS, you need stop other AOSes to synchronize the files which means downtime for these others AOSes (but of course you can have a planned downtime to do this).
The recommendation of max 125 concurrent users works for either model. Note this is not official MS recommendation but from an experience from a friend who work at MS.
ASKER
That's great news. I'm thinking we'll keep to the MS recommended model. To create a further level of fault tolerance we'll copy app files to all AOS servers after each update and have config's ready to repoint in case of server failure.
The 125 user limit is music to our ears - we were informed the limit is 40.
Thanks again for your help!
The 125 user limit is music to our ears - we were informed the limit is 40.
Thanks again for your help!
Perhaps you have read this, so I don't think anything else to do other than set up on the client configuration.
As you don't use load balancer, you need to add all AOSes to the client configuration.
To see if your cluster works, try connect several clients that points to different AOS and look at the online users form (Admin > online users). See the AOS instance name field that the session belongs to.