'had been' is a state that lasted until a certain point in the past. So 'he had been well until last tuesday, when he fell ill'.
And 'has been' is a state that began in the past and has lasted until now (with the expectation that it will go on into the future). So 'he has been with the VE for 2 years'.
('had', obviously, is simply past.)
Your sentence uses both 'had been' and 'has been'.
Quote:segregation had been a problem
Are you saying that segregation
was a problem and is no longer? If so then that's fine. If not, and it is still an issue, perhaps 'segregation
has been a problem' would be better there.
Quote:Cape Town has been divided
Again, is it still divided? If so then this is fine. If not then 'had been divided' might be better.
I hope this helps! (I'm a professional English teacher, so I hope I've been clear! If not feel free to question me further!)