Linux 시스템에서 버퍼링/캐싱을 제한하고 디스크에 어느 정도 지속적으로 쓰도록 하는 현명한 방법이 있습니까?
물리적 Linux 머신에서 여러 Linux 가상 머신을 실행하기 때문에 이렇게 묻습니다. Linux의 기본 버퍼링/캐싱 메커니즘으로 인해 이러한 모든 VM은 모든 내용을 지우기로 결정할 때까지 디스크에 대한 쓰기를 캐시합니다. 여러 가상 상자가 동시에 버퍼 플러시를 시작할 때 문제가 발생합니다. 이 시점에서 실제 머신의 하드 드라이브가 과충전되어 물리적 머신의 wa(I/O 대기) CPU 시간의 90%가 낭비되고 있었습니다. 모든 가상 머신이 몇 초 동안 정지되어 일부 TCP/IP 연결이 끊어지는 등의 현상이 발생합니다.
가상 하위 시스템에서 캐싱을 비활성화하고 물리적 시스템이 물리적 디스크에 액세스하고 있으므로 모든 캐싱을 물리적 시스템에서 수행하고 싶습니다. 어떤 팁이 있나요?
추가됨: 가상 머신의 디스크는 워크스테이션 메뉴를 검색하여 생성되며 일반적으로 기본값을 적용합니다(제 기억이 맞다면). 디스크 이미지는 XXX-s000.vmdk ~ XXX-s100.vmdk 파일에 저장됩니다. 가상 Linux 상자에서는 scsi 드라이브로 표시됩니다.
가상화를 위해 vmware station 10을 사용하고 있습니다. 내가 아는 한, vmware 게스트 도구는 이러한 시스템에 설치되지 않습니다.
답변1
먼저 (모든) 게스트에 VMware 게스트 도구를 설치합니다.
이를 통해 VMware는 게스트 디스크, NIC, 화면 및 호스트 간에 보다 효율적인 인터페이스를 구현할 수 있습니다. 결과적으로 경합 문제가 크게 줄어드는 것을 확인할 수 있습니다.
데비안 스타일 배포판에서 패키지 이름은 다음과 같습니다.open-vm-tools
, 바라보다https://github.com/vmware/open-vm-tools