독까의 이야기

MS-SQL 의 단순 미러링 기능 보다 업그레이드 된 MS-SQL Always On 기능을 사용하기 위해서 액티브 디렉토리 및 MSCS 를 구축하려고 한다. 

 

준비물 : Windows 2012 R2 가상화 서버 4대

AD DC : 211.115.90.51

DB1 : 211.115.90.52

DB2 : 211.115.90.53

Storage : 211.115.90.54

방화벽 정책 추가 : In/Outbound : TCP 135, 445, 3343 / UDP 3343

 

 

# 1 

액티브 디렉토리 도메인 컨트롤러 (AD DC) 서버로 사용 될 211.115.90.51 서버에 AD DS 서비스를 설치한다. 

서버 관리자 에서 역할 및 기능 추가 들어간 다음, Active Directory 도메인 서비스 를 선택 후 설치를 진행한다. 

그냥 Default 로 진행하면 된다. 

해당 역할 설치시에 DNS 서비스도 같이 설치가 진행 되므로, 굳이 선택을 안 해줘도 된다. 

 

 

설치가 완료되면, 상단 알림창 클릭 후 "이 서버를 도메인 컨트롤러로 승격" 을 선택한다. 

 

 

배포 작업에서 "새 포리스트를 추가합니다." 를 선택 하고, 루트 도메인은 본인이 하고 싶은 도메인으로 하면 된다. 

 

 

나머지는 Default 로 쭉쭉 진행하자. 추가 값을 입력하거나 할 필요는 없을 것 같다. 

 

 

설치가 정상적으로 완료가 되면 서버 재시작이 필요하므로, 그전에 작업하고 있던 내역들은 저장하는 것이 좋다. 

 

리부팅 완료 후, 컴퓨터명을 아래와 같은 형식으로 변경해주자. 굳이 같은 이름으로 할 필요는 없다. 

 

 

컴퓨터명을 바꿨으니 또 서버 재시작을 해야 한다. 참고로 컴퓨터명은 AD 서비스 설치 전에 해도 무방하다. 

 

관리도구에서 Active Directory 사용자 및 컴퓨터 를 실행해서 확인하면 DC 서버가 정상 등록 된게 확인된다. 

 

AD DC 에서의 설정은 이 정도면 충분하다. 

 

 

 

# 2 

DB1 / DB2 / Storage 에서는 동일한 설정 변경을 통해 AD 그룹에 등록이 되도록 해야 한다. 

 

네트워크 어댑터 설정에서 DNS 주소 중 1개를 AD DC 의 IP 로 할당을 한다. 

 

 

네트워크 설정 완료 후, 컴퓨터명의 소속 그룹을 도메인 으로 변경 및 입력해 주어야 한다. 

 

 

확인을 누르면 로그인 화면이 뜨는데 AD DC 의 계정 정보를 입력한다. 

 

 

 

이런 식으로 DNS 정보 및 컴퓨터명을 변경 해주고나면 AD 그룹에 등록이 되는데, 확인은 AD DC 에서 진행한다. 

 

 

 

컴퓨터 그룹 및 DNS 에 정상적으로 해당 서버들이 등록되어 있음이 확인 되었다. 

 

참고로, 윈도우 방화벽에 AD 그룹 서버군에 대한 허용 정책 추가를 권장한다. (Inbound, Outbound)

 

테스트에 필요한 AD 그룹 구축은 이 정도에서 마무리 가능한 것 같다. 

 

MSCS 설정은 다음 게시글에 작성 하기로 한다. 

 


Windows OS 업그레이드 테스트를 진행 하였다. 


테스트 환경은 아래와 같다. 


기존 OS 버전 : Windows 2008 R2 

업그레이드 진행 될 상위 OS 버전 : Windows 2012 R2 / Windows 2016


방식 : 윈도우 구동 상태에서 상위 버전 OS 설치 CD 삽입 후 업그레이드 선택으로 진행 한다. 



# 1 

Windows 2008 R2 -> Windows 2012 R2


* 테스트 결과 : 

윈도우 설정 및 설치 된 프로그램 상태 동일 (프로그램 호환성 문제는 발생 할 수 있음)

정품 인증은 초기화 됨 : Windows 2012 R2 키를 새로 입력 해야 함 




* 업그레이드 완료 전 롤백 선택 가능 








# 2 

Windows 2008 R2 -> Windows 2016


* 테스트 결과 : 

윈도우 설정 및 설치 된 프로그램 전부 초기화

OS 를 신규로 설치한 것과 차이가 없음





# 3 

Windows 2012 R2 -> Windows 2016


* 테스트 결과 : 

윈도우 설정 및 설치 된 프로그램 상태 동일 (프로그램 호환성 문제는 발생 할 수 있음)

정품 인증은 초기화 됨 : Windows 2016 키를 새로 입력 해야 함 









# 결론 : OS 업그레이드시 바로 윗 단계 버전으로 진행시에는 기존 설정 유지 가능하나, 두 단계 이상의 버전으로 업그레이드시에는 OS 를 새로 설치하는 것과 동일하다. 프로그램 호환성은 보증 하지 않는다. 


서버가 한 대면 계정 생성을 수동으로 진행을 하겠는데, 여러 대의 서버에 동일 계정을 생성해야 할 경우 수동으로 하나씩 진행하는게 비효율적이다. 


계정 생성 및 그룹 설정, 암호 사용 기간 제한 해제 까지 가능한 구문 이다. 


내용을 알맞게 수정 후 cmd 에서 그냥 복사 붙이기 하면 된다. 


net user 신규계정명 패스워드 /add /comment:"신규계정에 대한 설명" 

net localgroup administrators 신규계정명 /add

wmic useraccount where name="신규계정명" set passwordexpires=false


자세한 설명은 cmd 에서 net help user 하면 나오는데 그냥 아래거 참고 하면 된다. 



이 명령에 대한 구문:


NET USER

[username [password | *] [options]] [/DOMAIN]

         username {password | *} /ADD [options] [/DOMAIN]

         username [/DELETE] [/DOMAIN]

         username [/TIMES:{times | ALL}]

         username [/ACTIVE: {YES | NO}]


NET USER는 컴퓨터에 사용자 계정을 만들고 기존 사용자 계정을 수정합니다.

스위치 없이 이 명령을 사용하면 컴퓨터의 모든 사용자 계정이 나열됩니다.

사용자 계정 정보는 사용자 계정 데이터베이스에 저장되어 있습니다.


username     추가하거나 삭제, 수정 또는 조회할 사용자 계정의 이름입니다.

             사용자 계정의 이름은 최대 20자까지 

             지정할 수 있습니다.

password     사용자 계정에 대한 암호를 지정하거나 변경합니다.

             암호 길이는 NET ACCOUNTS 명령의 /MINPWLEN 옵션에 설정된 

             최소 길이를 충족해야 합니다. 암호에는 최대 14자까지 

             지정할 수 있습니다.

*            암호에 대한 프롬프트를 생성합니다. 암호 프롬프트에 

             암호를 입력하면 화면에 암호가 표시되지 않습니다.

/DOMAIN      현재 도메인의 도메인 컨트롤러에서 작업을

             수행합니다.

/ADD         사용자 계정을 사용자 계정 데이터베이스에 추가합니다.

/DELETE      사용자 계정 데이터베이스에서 사용자 계정을 제거합니다.


옵션          다음과 같습니다.


   옵션                        설명

      --------------------------------------------------------------------

   /ACTIVE:{YES | NO}         계정을 활성화하거나 비활성화합니다.

                              계정이 활성화되어 있지 않으면 사용자가 서버에

                              액세스할 수 없습니다. 기본값은 YES입니다.

   /COMMENT:"text"            사용자 계정에 대한 설명을

                              입력합니다. 텍스트는 따옴표로

                              묶습니다.

   /COUNTRYCODE:nnn           운영 체제 국가 코드를 사용하여

                              사용자의 도움말 및 오류 메시지에 대해 지정된

                              언어 파일을 구현합니다. 0 값은

                              기본 국가 코드를 나타냅니다.

   /EXPIRES:{date | NEVER}    날짜가 설정되어 있는 경우 계정이 만료됩니다.

                              NEVER는 계정에 시간 제한을 설정하지

                              않습니다. 만료 날짜는 mm/dd/yy(yy)와 같은

                              형식으로 지정합니다. 월에는 숫자, 영어 단어

                              또는 세 자리 약자를 사용할 수 있습니다.

                              연도에는 두 자리 또는 네 자리 숫자를 사용할 수 있습니다.  

                              날짜는 공백 없이 슬래시(/)를 사용하여

                              구분합니다.

   /FULLNAME:"name"           사용자 이름이 아닌 사용자의 전체

                              이름입니다. 이름은 따옴표로

                              묶습니다.

   /HOMEDIR:경로 이름         사용자 홈 디렉터리의 경로를 설정합니다. 

                              이 옵션은 해당 경로가 있어야 사용할 수 있습니다.

   /PASSWORDCHG:{YES | NO}    사용자가 자신의 암호를 변경할 수 있는지 여부를

                              지정합니다. 기본값은 YES입니다.

   /PASSWORDREQ:{YES | NO}    사용자 계정에 암호를 지정해야 하는지 여부를

                              지정합니다. 기본값은 YES입니다.

   /LOGONPASSWORDCHG:{YES|NO} 다음에 로그온할 때 사용자가 암호를

                              변경해야 하는지 여부를 지정합니다. 기본값은 NO입니다.

   /PROFILEPATH[:path]        사용자의 로그온 프로필 경로를 설정합니다.

   /SCRIPTPATH:pathname       사용자의 로그온 스크립트

                              위치입니다.

   /TIMES:{times | ALL}       로그온 시간입니다. TIMES는 

                              요일[-day][,day[-day]],시간[-time][,time[-time]]과 같은 형식으로 나타내며 

                              1시간 단위로 증가하도록 제한됩니다.

                              요일에는 전체 단어나 약어를 사용할 수 있습니다.

                              시간에는 12시간 또는 24시간 표기법을 

                              사용할 수 있습니다.12시간 표기법에서는 am, pm, a.m. 또는

                              p.m.을 사용합니다. ALL은 사용자가 언제든지 로그온할 수 있음을 나타내며 

                              값을 입력하지 않으면 사용자가 로그온할 수 없음을 나타냅니다.

                              요일과 시간은 쉼표로 구분하여 입력하고

                              요일과 시간 항목이 여러 개인 경우에는 

                              세미콜론으로 구분합니다.

   /USERCOMMENT:"텍스트"      관리자가 계정에 대한 사용자 설명을 추가하거나 

                              변경할 수 있습니다. 

   /WORKSTATIONS:{computername[,...] | *}

                              사용자가 네트워크에 로그온할 수 있는 컴퓨터를

                              최대 8개까지 나열합니다. /WORKSTATIONS에 목록을

                              지정하지 않거나 별표(*)를 지정하면 사용자는 어느

                              컴퓨터에서나 네트워크에 로그온할 수 있습니다.


NET HELP 명령 | MORE는 한 번에 한 화면씩 도움말을 표시합니다.